sync(system): update front board system configuration.

This commit is contained in:
kangjun 2024-05-14 11:30:40 +08:00
parent 643879bc1e
commit 47b4c1d7b2
57 changed files with 19610 additions and 3891 deletions

View File

@ -23,6 +23,7 @@ declare -A board_name_map=(
["v851s3_fastboot_sc1721v02"]="v851s3-e907-sc1721v02-board"
["v851s_fastboot_sc1725v01_nor"]="v851-e907-sc1725v01-board"
["v851s_fastboot_hichs_sl100_back"]="v851-e907-hichs_sl100_back-board"
["v851s3_fastboot_sl100_front"]="v851s3-e907-sl100-front-board"
)
function get_melis_board_name() {

View File

@ -7,7 +7,7 @@ LICHEE_BRANDY_VER:=2.0
LICHEE_BRANDY_DEFCONF:=sun8iw21p1_fastboot_defconfig
LICHEE_BRANDY_SPL:=spl
LICHEE_KERN_VER:=4.9
LICHEE_KERN_DEFCONF:=sl100_front_defconfig
LICHEE_KERN_DEFCONF:=sun8iw21p1smp_defconfig
LICHEE_BUILDING_SYSTEM:=
LICHEE_BR_VER:=
LICHEE_BR_DEFCONF:=

View File

@ -21,7 +21,7 @@
};
chosen {
bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=8 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";
bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=6 lpj=240000 root=/dev/mtdblock4 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=env@mtdblock1:env-redund@mtdblock2:boot@mtdblock3:rootfs@mtdblock4:extend@mtdblock5:rootfs_data@mtdblock6:UDISK@mtdblock7 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow";
/* for OTA AB system:(kernel rootfs extend) */
/* bootargs = "earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 loglevel=1 lpj=240000 root=/dev/mtdblock3 rootwait init=/files/pseudo_init rdinit=/rdinit partitions=boot@mtdblock1:boot_backup@mtdblock2:rootfs@mtdblock3:rootfs_backup@mtdblock4:extend@mtdblock5:extend_backup@mtdblock6:rootfs_data@mtdblock7:env@mtdblock8:UDISK@mtdblock9 coherent_pool=16K androidboot.hardware=sun8iw21p1 boot_type=3 androidboot.boot_type=3 gpt=1 mbr_offset=2080768 bootreason=unknow"; */
@ -144,7 +144,7 @@
compatible = "xradio,wlan";
wlan_data_rd = <&pio PD 21 0 0x1 0x2 0>;
wlan_data_irq =<&pio PD 20 0x14 0x0 0x2 0>;
status = "okay";
status = "disabled";
linux,phandle = <0x00000120>;
phandle = <0x00000120>;
};
@ -156,24 +156,17 @@
status = "okay";
ch_id = <0>;//vipp_num
codec_type = <0>;//0//0:H264; 1:JPG; 2:H265
res_w = <1920>;
res_h = <1080>;
res_w = <640>;
res_h = <480>;
fps = <15>;
bit_rate = <1536>;//kb
gop = <40>;
enable_sharp = <1>;
product_mode = <0>;//0:static ipc, 1:moving ipc, 2: doorbell, 3:cdr, 4:sdv, 5:projection, 6:UAV(Unmanned Aerial Vehicle)
vbr = <1>;//< operate venc. VBR=1, CBR=0
vbr = <0>;//< operate venc. VBR=1, CBR=0
init_qp = <35>;
i_min_qp = <25>;
i_max_qp = <45>;
p_min_qp = <25>;
p_max_qp = <45>;
enable_mb_qp_limit = <1>;
moving_th = <20>;
quality = <1>;
i_frm_bits_coef = <10>;
p_frm_bits_coef = <10>;
out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv
pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE
reduce_refrec_mem = <0>;//Can save memory space
@ -183,29 +176,22 @@
};
sensor_1_venc: sensor_1_venc@1 {
status = "disabled";
status = "okay";
s1vencfg0: s1vencfg0@0 {
status = "disabled";
status = "okay";
ch_id = <1>;//vipp_num
codec_type = <0>;//0//0:H264; 1:JPG; 2:H265
res_w = <1920>;
res_h = <1080>;
res_w = <640>;
res_h = <480>;
fps = <15>;
bit_rate = <1536>;//kb
gop = <40>;
enable_sharp = <1>;
product_mode = <0>;//0:static ipc, 1:moving ipc, 2: doorbell, 3:cdr, 4:sdv, 5:projection, 6:UAV(Unmanned Aerial Vehicle)
vbr = <1>;//< operate venc. VBR=1, CBR=0
vbr = <0>;//< operate venc. VBR=1, CBR=0
init_qp = <35>;
i_min_qp = <25>;
i_max_qp = <45>;
p_min_qp = <25>;
p_max_qp = <45>;
enable_mb_qp_limit = <1>;
moving_th = <20>;
quality = <1>;
i_frm_bits_coef = <10>;
p_frm_bits_coef = <10>;
out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv
pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE
reduce_refrec_mem = <0>;//Can save memory space
@ -225,19 +211,12 @@
fps = <15>;
bit_rate = <1536>;//kb
gop = <40>;
enable_sharp = <1>;
product_mode = <0>;//0:static ipc, 1:moving ipc, 2: doorbell, 3:cdr, 4:sdv, 5:projection, 6:UAV(Unmanned Aerial Vehicle)
vbr = <1>;//< operate venc. VBR=1, CBR=0
vbr = <0>;//< operate venc. VBR=1, CBR=0
init_qp = <35>;
i_min_qp = <25>;
i_max_qp = <45>;
p_min_qp = <25>;
p_max_qp = <45>;
enable_mb_qp_limit = <1>;
moving_th = <20>;
quality = <1>;
i_frm_bits_coef = <10>;
p_frm_bits_coef = <10>;
out_mode = <0>;//0: stream; 1: yuv; 2: file_yuv; 3: outside_yuv
pix_fmt = <12>;//12: RT_PIXEL_LBC_25X; 0: RT_PIXEL_YUV420SP, other ref RT_PIXELFORMAT_TYPE
reduce_refrec_mem = <0>;//Can save memory space
@ -260,11 +239,12 @@
tdm0:tdm@0 {
iommus = <&mmu_aw 4 0>;
work_mode = <0>;
work_mode = <1>;
delay_init = <1>;
};
isp00:isp@0 {
work_mode = <0>;
work_mode = <1>;
rpbuf = <&rpbuf_controller0>;
iommus = <&mmu_aw 4 0>;
isp-region = <&isp_reserved>;
@ -272,7 +252,9 @@
};
isp01:isp@1 {
status = "disabled";
rpbuf = <&rpbuf_controller0>;
iommus = <&mmu_aw 4 0>;
delay_init = <1>;
};
isp02:isp@2 {
@ -285,17 +267,17 @@
isp10:isp@4 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
};
scaler00:scaler@0 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler01:scaler@1 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler02:scaler@2 {
@ -307,13 +289,14 @@
};
scaler10:scaler@4 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler11:scaler@5 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler12:scaler@6 {
@ -325,13 +308,14 @@
};
scaler20:scaler@8 {
work_mode = <0>;
work_mode = <1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler21:scaler@9 {
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
};
scaler22:scaler@10 {
@ -382,9 +366,9 @@
sensor0:sensor@0 {
device_type = "sensor0";
sensor0_mname = "gc2053_mipi";
sensor0_mname = "ov02b10_mipi";
sensor0_twi_cci_id = <1>;
sensor0_twi_addr = <0x6e>;
sensor0_twi_addr = <0x78>;
sensor0_mclk_id = <0>;
sensor0_pos = "rear";
sensor0_isp_used = <1>;
@ -399,11 +383,11 @@
/* sensor0_dvdd-supply = <&reg_dldo2>; */
/* sensor0_dvdd_vol = <1200000>; */
/* sensor0_power_en = <>; */
sensor0_reset = <&pio PA 10 1 0 1 0>;
sensor0_pwdn = <&pio PA 11 1 0 1 0>;
sensor0_power_en = <&pio PF 3 1 1 1 0>;
sensor0_reset = <&pio PD 20 1 0 1 0>;
sensor0_pwdn = <&pio PE 10 1 0 1 0>;
sensor0_sm_hs = <>;
sensor0_sm_vs = <>;
sensor0_power_en = <>;
flash_handle = <&flash0>;
act_handle = <&actuator0>;
status = "okay";
@ -411,9 +395,9 @@
sensor1:sensor@1 {
device_type = "sensor1";
sensor1_mname = "imx386_mipi_2";
sensor1_mname = "ov02b1b_mipi";
sensor1_twi_cci_id = <0>;
sensor1_twi_addr = <0x20>;
sensor1_twi_addr = <0x78>;
sensor1_mclk_id = <1>;
sensor1_pos = "front";
sensor1_isp_used = <1>;
@ -428,13 +412,13 @@
/* sensor1_dvdd-supply = <&reg_dldo2>; */
/* sensor1_dvdd_vol = <1200000>; */
/* sensor1_power_en = <>; */
sensor1_reset = <&pio PA 20 1 0 1 0>;
sensor1_pwdn = <&pio PA 21 1 0 1 0>;
sensor1_reset = <&pio PD 21 1 0 1 0>;
sensor1_pwdn = <&pio PE 10 1 0 1 0>;
sensor1_sm_hs = <>;
sensor1_sm_vs = <>;
flash_handle = <>;
act_handle = <>;
status = "disabled";
status = "okay";
};
vinc00:vinc@0 {
@ -446,22 +430,24 @@
vinc0_rear_sensor_sel = <0>;
vinc0_front_sensor_sel = <0>;
vinc0_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc01:vinc@1 {
vinc1_csi_sel = <2>;
vinc1_mipi_sel = <0xff>;
vinc1_csi_sel = <1>;
vinc1_mipi_sel = <1>;
vinc1_isp_sel = <1>;
vinc1_isp_tx_ch = <1>;
vinc1_isp_tx_ch = <0>;
vinc1_tdm_rx_sel = <1>;
vinc1_rear_sensor_sel = <0>;
vinc1_front_sensor_sel = <0>;
vinc1_rear_sensor_sel = <1>;
vinc1_front_sensor_sel = <1>;
vinc1_sensor_list = <0>;
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc02:vinc@2 {
@ -497,22 +483,24 @@
vinc4_rear_sensor_sel = <0>;
vinc4_front_sensor_sel = <0>;
vinc4_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc11:vinc@5 {
vinc5_csi_sel = <2>;
vinc5_mipi_sel = <0xff>;
vinc5_csi_sel = <1>;
vinc5_mipi_sel = <1>;
vinc5_isp_sel = <1>;
vinc5_isp_tx_ch = <1>;
vinc5_isp_tx_ch = <0>;
vinc5_tdm_rx_sel = <1>;
vinc5_rear_sensor_sel = <0>;
vinc5_front_sensor_sel = <0>;
vinc5_rear_sensor_sel = <1>;
vinc5_front_sensor_sel = <1>;
vinc5_sensor_list = <0>;
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc12:vinc@6 {
@ -548,22 +536,24 @@
vinc8_rear_sensor_sel = <0>;
vinc8_front_sensor_sel = <0>;
vinc8_sensor_list = <0>;
work_mode = <0x0>;
work_mode = <0x1>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc21:vinc@9 {
vinc9_csi_sel = <2>;
vinc9_mipi_sel = <0xff>;
vinc9_isp_sel = <0>;
vinc9_csi_sel = <1>;
vinc9_mipi_sel = <1>;
vinc9_isp_sel = <1>;
vinc9_isp_tx_ch = <0>;
vinc9_tdm_rx_sel = <0>;
vinc9_rear_sensor_sel = <0>;
vinc9_front_sensor_sel = <0>;
vinc9_tdm_rx_sel = <1>;
vinc9_rear_sensor_sel = <1>;
vinc9_front_sensor_sel = <1>;
vinc9_sensor_list = <0>;
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc22:vinc@10 {
@ -602,19 +592,21 @@
work_mode = <0x0>;
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "disabled";
status = "okay";
};
vinc31:vinc@13 {
vinc13_csi_sel = <2>;
vinc13_mipi_sel = <0xff>;
vinc13_isp_sel = <0>;
vinc13_csi_sel = <1>;
vinc13_mipi_sel = <1>;
vinc13_isp_sel = <1>;
vinc13_isp_tx_ch = <0>;
vinc13_tdm_rx_sel = <0>;
vinc13_rear_sensor_sel = <0>;
vinc13_front_sensor_sel = <0>;
vinc13_tdm_rx_sel = <1>;
vinc13_rear_sensor_sel = <1>;
vinc13_front_sensor_sel = <1>;
vinc13_sensor_list = <0>;
status = "disabled";
iommus = <&mmu_aw 1 0>;
delay_init = <1>;
status = "okay";
};
vinc32:vinc@14 {
@ -647,18 +639,11 @@
charger-type = "usb-sdp";
status = "okay";
};
gpio_keys {
compatible = "gpio-keys";
/*pinctrl-names = "default";
pinctrl-0 = <&key_pins_pcduino>;*/
#address-cells = <1>;
#size-cells = <0>;
set_key@0 {
label = "Key Back";
linux,code = <28>;
gpios = <&pio PE 4 0 1 1 1>;
};
gpio_sw@0x02000000 {
compatible = "allwinner,sunxi-init-gpio";
reg = <0x0 0x02000000 0x0 0x370>;
gpio_num = <1>;
gpio_pin_1 = <&pio PE 0 0x1 0x1 0x1 0x1>;
};
};
@ -746,7 +731,6 @@
uart2_pins_active: uart2@0 {
allwinner,pins = "PD18", "PD19";
//"PE12", "PE13", "PE10", "PE11";
allwinner,function = "uart2";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
@ -755,7 +739,6 @@
uart2_pins_sleep: uart2@1 {
allwinner,pins = "PD18", "PD19";
//"PE12", "PE13", "PE10", "PE11";
allwinner,function = "gpio_in";
allwinner,muxsel = <0>;
};
@ -923,19 +906,19 @@
};
twi0_pins_a: twi0@0 {
allwinner,pins = "PA16", "PA17";
allwinner,pins = "PE4", "PE5";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,function = "twi0";
allwinner,muxsel = <4>;
allwinner,drive = <0>;
allwinner,muxsel = <8>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
twi0_pins_b: twi0@1 {
allwinner,pins = "PA16", "PA17";
allwinner,pins = "PE4", "PE5";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
allwinner,drive = <0>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
@ -1055,6 +1038,20 @@
allwinner,pull = <0>;
};
pwm0_pin_a: pwm0@0 {
pins = "PH0";
function = "pwm0";
muxsel = <2>;
drive-strength = <10>;
bias-pull-up;
};
pwm0_pin_b: pwm0@1 {
pins = "PH0";
function = "gpio_in";
muxsel = <0>;
};
pwm4_pin_a: pwm4@0 {
pins = "PH11";
function = "pwm4";
@ -1070,15 +1067,15 @@
};
pwm6_pin_a: pwm6@0 {
pins = "PD7";
pins = "PE6";
function = "pwm6";
muxsel = <3>;
muxsel = <5>;
drive-strength = <10>;
bias-pull-up;
};
pwm6_pin_b: pwm6@1 {
pins = "PD7";
pins = "PE6";
function = "gpio_in";
muxsel = <0>;
};
@ -1152,16 +1149,16 @@
};
csi_mclk1_pins_a: csi_mclk1@0 {
allwinner,pins = "PA13";
allwinner,pins = "PE13";
allwinner,pname = "mipi_csi_mclk1";
allwinner,function = "mipi_csi_mclk1";
allwinner,muxsel = <4>;
allwinner,muxsel = <5>;
allwinner,drive = <2>;
allwinner,pull = <0>;
};
csi_mclk1_pins_b: csi_mclk1@1 {
allwinner,pins = "PA13";
allwinner,pins = "PE13";
allwinner,pname = "mipi_csi_mclk1";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
@ -1203,23 +1200,6 @@
allwinner,drive = <1>;
allwinner,pull = <0>;
};
sdc0_pins_a: sdc0@0 {
allwinner,pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5";
allwinner,function = "sdc0";
allwinner,muxsel = <2>;
allwinner,drive = <3>;
allwinner,pull = <0>;
};
sdc0_pins_b: sdc0@1 {
allwinner,pins = "PF0", "PF1", "PF2",
"PF3", "PF4", "PF5";
allwinner,function = "io_disabled";
allwinner,muxsel = <0xf>;
allwinner,drive = <1>;
allwinner,pull = <1>;
};
};
&spi0 {
@ -1335,7 +1315,9 @@
twi_drv_used = <0>;
/* twi-supply = <&reg_dcdc1>; */
twi_pkt_interval = <0>;
status = "disabled";
rproc-name = "e907_rproc@0";
no_suspend = <1>;
status = "okay";
};
&twi1 {
@ -1458,7 +1440,7 @@
/* mic1-single; */
/* mic2-single; */
pa-pin-max = <1>; /* set pa */
pa-pin-0 = <&pio PE 11 1 1 1 0>;
pa-pin-0 = <&pio PH 12 1 1 1 0>;
pa-pin-level-0 = <1>;
pa-pin-msleep-0 = <0>;
tx-hub-en;
@ -1569,13 +1551,14 @@
&usbc0 {
device_type = "usbc0";
usb_port_type = <0x2>;
usb_detect_type = <0x1>;
usb_port_type = <0x0>;
usb_detect_type = <0x0>;
usb_detect_mode = <0x0>;
usb_id_gpio;
/*usb_id_gpio = <&pio PH 14 0 1 0xffffffff 0xffffffff>;*/
usb_det_vbus_gpio;
/*usb_det_vbus_gpio = <&pio PH 3 0 1 0xffffffff 0xffffffff>;*/
usb_det_vbus_gpio = "axp_ctrl";
det_vbus_supply = <&gpio_charger>;
/*det_vbus_supply = <&gpio_charger>;*/
usb_regulator_io = "nocare";
usb_wakeup_suspend = <0x0>;
usb_luns = <0x3>;
@ -1585,17 +1568,24 @@
};
&udc {
det_vbus_supply = <&gpio_charger>;
/*det_vbus_supply = <&gpio_charger>;*/
status = "okay";
};
&ehci0 {
drvvbus-supply = <&reg_usb_vbus>;
/*drvvbus-supply = <&reg_usb_vbus>;*/
status = "okay";
};
&ohci0 {
drvvbus-supply = <&reg_usb_vbus>;
/*drvvbus-supply = <&reg_usb_vbus>;*/
status = "okay";
};
&pwm0 {
pinctrl-names = "active", "sleep";
pinctrl-0 = <&pwm0_pin_a>;
pinctrl-1 = <&pwm0_pin_b>;
status = "okay";
};
@ -1631,9 +1621,9 @@
channel0_compare_higdata = <0>;
/*channel1_compare_lowdata = <460000>;*/
/*channel1_compare_higdata = <1200000>;*/
key_cnt = <1>;
key0_vol = <1800>;
key0_val = <115>;
/*key_cnt = <5>;*/
/*key0_vol = <210>;*/
/*key0_val = <115>;*/
/*key1_vol = <410>;*/
/*key1_val = <114>;*/
/*key2_vol = <590>;*/
@ -1642,7 +1632,7 @@
/*key3_val = <28>;*/
/*key4_vol = <880>;*/
/*key4_val = <102>;*/
status = "okay";
status = "disabled";
};
&wiegand {
@ -1693,12 +1683,12 @@
&sdc0 {
bus-width = <4>;
/*cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;*/
cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
/*non-removable;*/
/*broken-cd;*/
/*cd-inverted*/
data3-detect;
/*card-pwr-gpios = <&pio PH 0 1 1 2 0xffffffff>;*/
/*data3-detect;*/
card-pwr-gpios = <&pio PH 0 1 1 2 0xffffffff>;
cd-used-24M;
cap-sd-highspeed;
sd-uhs-sdr50;
@ -1706,7 +1696,7 @@
sd-uhs-sdr104;
no-sdio;
no-mmc;
/*sunxi-signal-vol-sw-without-pmu;*/
sunxi-signal-vol-sw-without-pmu;
sunxi-power-save-mode;
/*sunxi-dis-signal-vol-sw;*/
max-frequency = <150000000>;
@ -1716,7 +1706,7 @@
/* vdmmc33sw-supply = <&reg_dcdc1>; */
/* vqmmc18sw-supply = <&reg_bldo1>; */
/* vdmmc18sw-supply = <&reg_bldo1>; */
status = "okay";
status = "disabled";
};
&sdc1 {
@ -1847,7 +1837,7 @@
};
&g2d {
status = "disabled";
status = "okay";
};
&e907_rproc {

View File

@ -132,6 +132,7 @@ CONFIG_MULTIUSER=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
# CONFIG_ELF_CORE is not set
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
@ -495,7 +496,7 @@ CONFIG_BINFMT_SCRIPT=y
# CONFIG_BINFMT_FLAT is not set
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_COREDUMP is not set
CONFIG_COREDUMP=y
#
# Power management options
@ -770,6 +771,7 @@ CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
@ -877,48 +879,15 @@ CONFIG_SUNXI_RFKILL=m
#
# SCSI device support
#
CONFIG_SCSI_MOD=m
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
# CONFIG_SCSI is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_MQ_DEFAULT is not set
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
@ -943,8 +912,124 @@ CONFIG_NET_CORE=y
#
# Distributed Switch Architecture drivers
#
# CONFIG_ETHERNET is not set
# CONFIG_PHYLIB is not set
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_ALLWINNER=y
# CONFIG_SUN4I_EMAC is not set
# CONFIG_SUNXI_GMAC is not set
CONFIG_SUNXI_GETH=y
# CONFIG_SUNXI_EXT_PHY is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_ARC=y
# CONFIG_ARC_EMAC is not set
CONFIG_NET_VENDOR_AURORA=y
# CONFIG_AURORA_NB8800 is not set
CONFIG_NET_CADENCE=y
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_SYSTEMPORT is not set
CONFIG_NET_VENDOR_CIRRUS=y
# CONFIG_CS89x0 is not set
# CONFIG_DM9000 is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_EZCHIP=y
# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
CONFIG_NET_VENDOR_FARADAY=y
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
CONFIG_NET_VENDOR_HISILICON=y
# CONFIG_HIX5HD2_GMAC is not set
# CONFIG_HISI_FEMAC is not set
# CONFIG_HIP04_ETH is not set
# CONFIG_HNS is not set
# CONFIG_HNS_DSAF is not set
# CONFIG_HNS_ENET is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
# CONFIG_MVNETA_BM is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NET_VENDOR_NETRONOME=y
CONFIG_NET_VENDOR_8390=y
# CONFIG_AX88796 is not set
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_QUALCOMM=y
# CONFIG_QCA7000 is not set
# CONFIG_QCOM_EMAC is not set
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_SMC91X is not set
# CONFIG_SMC911X is not set
# CONFIG_SMSC911X is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SYNOPSYS=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_NET_VENDOR_WIZNET=y
# CONFIG_WIZNET_W5100 is not set
# CONFIG_WIZNET_W5300 is not set
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
#
# MDIO bus device drivers
#
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_SUN4I is not set
#
# MII PHY device drivers
#
CONFIG_SUNXI_EPHY_AC300=y
# CONFIG_AMD_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_ICPLUS_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_RTL8363NB_VB is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
@ -953,13 +1038,57 @@ CONFIG_NET_CORE=y
# Host-side USB support is needed for USB Network Adapter support
#
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH6KL is not set
CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_BRCMFMAC is not set
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
CONFIG_WLAN_VENDOR_MARVELL=y
# CONFIG_LIBERTAS is not set
# CONFIG_MWIFIEX is not set
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_WLAN_VENDOR_RSI=y
CONFIG_WLAN_VENDOR_ST=y
CONFIG_WLAN_VENDOR_TI=y
CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_USB_ZD1201 is not set
# CONFIG_XR819_WLAN is not set
# CONFIG_XR819S_WLAN is not set
# CONFIG_XR829_WLAN is not set
CONFIG_XR806_WLAN=m
# CONFIG_ESP32_WLAN is not set
# CONFIG_AIC_WLAN_SUPPORT is not set
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_VIRT_WIFI is not set
# CONFIG_BCMDHD is not set
# CONFIG_RTL8189ES is not set
# CONFIG_RTL8188FU is not set
# CONFIG_RTL8189FS is not set
# CONFIG_RTL8723CS is not set
# CONFIG_RTL8723DS is not set
# CONFIG_RTL8733BS is not set
# CONFIG_RTL8723BS_VQ0 is not set
# CONFIG_RTL8821CS is not set
# CONFIG_RTL8822CS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
# CONFIG_ISDN is not set
CONFIG_ISDN=y
# CONFIG_ISDN_I4L is not set
# CONFIG_ISDN_CAPI is not set
# CONFIG_ISDN_DRV_GIGASET is not set
# CONFIG_MISDN is not set
# CONFIG_NVM is not set
#
@ -976,8 +1105,8 @@ CONFIG_INPUT=y
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y
# CONFIG_INPUT_KEYRESET is not set
# CONFIG_INPUT_KEYCOMBO is not set
CONFIG_INPUT_SENSORINIT=y
@ -1065,7 +1194,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_SUN4I is not set
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
@ -1083,19 +1211,7 @@ CONFIG_TOUCHSCREEN_GSLX680NEW=m
CONFIG_TOUCHSCREEN_CST9220_HYNITRON_TS=m
# CONFIG_INPUT_MISC is not set
# CONFIG_RMI4_CORE is not set
CONFIG_INPUT_SENSOR=y
# CONFIG_SENSORS_BMA250 is not set
# CONFIG_SENSORS_SC7A30 is not set
# CONFIG_SENSORS_MMA7660 is not set
# CONFIG_SENSORS_MIR3DA is not set
# CONFIG_SENSORS_MXC622X is not set
# CONFIG_SENSORS_MMA8452 is not set
# CONFIG_SENSORS_MMA865X is not set
# CONFIG_SENSORS_MC32X0 is not set
CONFIG_SENSORS_GPADC=m
# CONFIG_SENSORS_GPADC_TEST is not set
# CONFIG_KEY_GPIO is not set
# CONFIG_SENSORS_DA380 is not set
# CONFIG_INPUT_SENSOR is not set
# CONFIG_SENSORS_BMA2X2 is not set
# CONFIG_SENSORS_BMA2X2_ENABLE_INT1 is not set
# CONFIG_SENSORS_BMA2X2_ENABLE_INT2 is not set
@ -1168,7 +1284,9 @@ CONFIG_DUMP_REG_MISC=y
# CONFIG_SUNXI_TIMER_TEST is not set
# CONFIG_SUNXI_TRANSFORM is not set
# CONFIG_SUNXI_DI is not set
# CONFIG_SUNXI_G2D is not set
CONFIG_SUNXI_G2D=y
CONFIG_SUNXI_G2D_MIXER=y
CONFIG_SUNXI_G2D_ROTATE=y
# CONFIG_SUNXI_DSPO is not set
CONFIG_SUNXI_NNA_VIP=y
# CONFIG_SUNXI_NNA_GALCORE is not set
@ -1313,7 +1431,7 @@ CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
CONFIG_GPIOLIB=y
CONFIG_OF_GPIO=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_SYSFS=y
#
# Memory mapped GPIO drivers
@ -1663,31 +1781,13 @@ CONFIG_VIDEO_V4L2=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_VIDEOBUF2_VMALLOC=y
# CONFIG_TTPCI_EEPROM is not set
#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y
#
# Webcam devices
#
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
# CONFIG_USB_GSPCA is not set
# CONFIG_USB_PWC is not set
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_USB_ZR364XX is not set
# CONFIG_USB_STKWEBCAM is not set
# CONFIG_USB_S2255 is not set
# CONFIG_VIDEO_USBTV is not set
#
# Webcam, TV (analog/digital) USB devices
#
# CONFIG_VIDEO_EM28XX is not set
# CONFIG_MEDIA_USB_SUPPORT is not set
CONFIG_V4L_PLATFORM_DRIVERS=y
# CONFIG_SOC_CAMERA is not set
# CONFIG_VIDEO_XILINX is not set
@ -1703,7 +1803,10 @@ CONFIG_ENABLE_SENSOR_FLIP_OPTION=y
# CONFIG_VIN_LOG is not set
# CONFIG_PIPELINE_RESET is not set
# CONFIG_MULTI_FRAME is not set
# CONFIG_SUPPORT_ISP_TDM is not set
CONFIG_SUPPORT_ISP_TDM=y
CONFIG_TDM_LBC_EN=y
# CONFIG_TDM_ONE_BUFFER is not set
# CONFIG_TDM_OFFLINE_HANDLE_RAW is not set
# CONFIG_MIPI_VC is not set
# CONFIG_AVG_TDM_FIFO is not set
# CONFIG_DISPPLAY_SYNC is not set
@ -1730,7 +1833,7 @@ CONFIG_VIDEO_SUNXI_VIN_SPECIAL=y
# CONFIG_SENSOR_OV7251_MIPI is not set
# CONFIG_SENSOR_OV2735_MIPI is not set
# CONFIG_SENSOR_OV7750_MIPI is not set
# CONFIG_SENSOR_OV02B10_MIPI is not set
CONFIG_SENSOR_OV02B10_MIPI=y
# CONFIG_SENSOR_OV5648 is not set
# CONFIG_SENSOR_OS02G10 is not set
# CONFIG_SENSOR_GC2145 is not set
@ -1739,12 +1842,11 @@ CONFIG_VIDEO_SUNXI_VIN_SPECIAL=y
# CONFIG_SENSOR_GC0308_MIPI is not set
# CONFIG_SENSOR_GC0310_MIPI is not set
# CONFIG_SENSOR_GC2355_MIPI is not set
CONFIG_SENSOR_GC2053_MIPI=y
# CONFIG_SENSOR_GC2053_8BIT_MIPI is not set
# CONFIG_SENSOR_GC2083_MIPI is not set
# CONFIG_SENSOR_GC2053_MIPI is not set
CONFIG_SENSOR_GC2083_MIPI=y
# CONFIG_SENSOR_GC2093_MIPI is not set
# CONFIG_SENSOR_GC4023_MIPI is not set
CONFIG_SENSOR_GC4663_MIPI=y
# CONFIG_SENSOR_GC4663_MIPI is not set
# CONFIG_SENSOR_GC0403_MIPI is not set
# CONFIG_SENSOR_GC5025_MIPI is not set
# CONFIG_SENSOR_GC5035_MIPI is not set
@ -1967,8 +2069,8 @@ CONFIG_VIDEO_KERNEL_ENC_SUNXI=y
# CONFIG_VE_SUPPORT_RPM is not set
# CONFIG_VIDEO_GOOGLE_VP9_DECODER_SUNXI is not set
CONFIG_VIDEO_RT_MEDIA=y
CONFIG_RT_MEDIA_SINGEL_SENSOR=y
# CONFIG_RT_MEDIA_DUAL_SENSOR is not set
# CONFIG_RT_MEDIA_SINGEL_SENSOR is not set
CONFIG_RT_MEDIA_DUAL_SENSOR=y
# CONFIG_RT_MEDIA_THREE_SENSOR is not set
CONFIG_RT_MEDIA_CDC_LOG_LEVEL=3
# CONFIG_RT_MEDIA_SETUP_RECORDER_IN_KERNEL is not set
@ -1995,7 +2097,6 @@ CONFIG_SUNXI_GPU_TYPE="None"
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
@ -2033,10 +2134,11 @@ CONFIG_FB_NOTIFY=y
#
# CONFIG_DISP2_SUNXI_SATA_TEST is not set
# CONFIG_FB_CONSOLE_SUNXI is not set
CONFIG_DISP2_SUNXI=m
CONFIG_DISP2_SUNXI=y
# CONFIG_SUNXI_DISP2_PQ is not set
CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y
# CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE is not set
# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set
CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT=y
# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set
# CONFIG_HDMI_DISP2_SUNXI is not set
# CONFIG_HDMI2_DISP2_SUNXI is not set
@ -2045,7 +2147,7 @@ CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y
# CONFIG_VDPO_DISP2_SUNXI is not set
# CONFIG_EDP_DISP2_SUNXI is not set
# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set
# CONFIG_DISP2_SUNXI_DEBUG is not set
CONFIG_DISP2_SUNXI_DEBUG=y
# CONFIG_DISP2_SUNXI_COMPOSER is not set
# CONFIG_DISP2_LCD_ESD_DETECT is not set
# CONFIG_DISP2_LCD_MULTI_COMPATIBLE is not set
@ -2310,8 +2412,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
#
# CONFIG_I2C_HID is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=m
CONFIG_USB_COMMON=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
@ -2348,9 +2450,9 @@ CONFIG_USB_OHCI_HCD=m
CONFIG_USB_SUNXI_HCD=m
CONFIG_USB_SUNXI_HCI=m
CONFIG_USB_SUNXI_EHCI0=m
# CONFIG_USB_SUNXI_EHCI1 is not set
CONFIG_USB_SUNXI_EHCI1=m
CONFIG_USB_SUNXI_OHCI0=m
# CONFIG_USB_SUNXI_OHCI1 is not set
CONFIG_USB_SUNXI_OHCI1=m
#
# USB Device Class drivers
@ -2367,28 +2469,11 @@ CONFIG_USB_SUNXI_OHCI0=m
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=m
CONFIG_USB_STORAGE_DATAFAB=m
CONFIG_USB_STORAGE_FREECOM=m
CONFIG_USB_STORAGE_ISD200=m
CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STORAGE_SDDR09=m
CONFIG_USB_STORAGE_SDDR55=m
CONFIG_USB_STORAGE_JUMPSHOT=m
CONFIG_USB_STORAGE_ALAUDA=m
CONFIG_USB_STORAGE_ONETOUCH=m
CONFIG_USB_STORAGE_KARMA=m
CONFIG_USB_STORAGE_CYPRESS_ATACB=m
CONFIG_USB_STORAGE_ENE_UB6250=m
CONFIG_USB_UAS=m
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
@ -2437,7 +2522,7 @@ CONFIG_USB_UAS=m
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_ULPI is not set
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
@ -2457,41 +2542,42 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_M66592 is not set
# CONFIG_USB_BDC_UDC is not set
# CONFIG_USB_NET2272 is not set
CONFIG_USB_SUNXI_UDC0=m
CONFIG_USB_SUNXI_UDC0=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_LIBCOMPOSITE=m
CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=m
CONFIG_USB_F_MASS_STORAGE=m
CONFIG_USB_F_FS=m
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=m
CONFIG_USB_F_UVC=m
CONFIG_USB_F_HID=m
CONFIG_USB_CONFIGFS=m
CONFIG_USB_F_UVC=y
CONFIG_USB_F_HID=y
CONFIG_USB_CONFIGFS=y
# CONFIG_USB_CONFIGFS_SERIAL is not set
# CONFIG_USB_CONFIGFS_ACM is not set
# CONFIG_USB_CONFIGFS_OBEX is not set
# CONFIG_USB_CONFIGFS_NCM is not set
# CONFIG_USB_CONFIGFS_ECM is not set
# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set
# CONFIG_USB_CONFIGFS_RNDIS is not set
CONFIG_USB_CONFIGFS_RNDIS=y
# CONFIG_USB_CONFIGFS_EEM is not set
CONFIG_USB_CONFIGFS_MASS_STORAGE=m
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
CONFIG_USB_CONFIGFS_F_FS=m
CONFIG_USB_CONFIGFS_F_FS=y
# CONFIG_USB_CONFIGFS_F_MTP is not set
# CONFIG_USB_CONFIGFS_F_ACC is not set
CONFIG_USB_CONFIGFS_UEVENT=m
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_CONFIGFS_F_UAC1=y
# CONFIG_USB_CONFIGFS_F_UAC2 is not set
# CONFIG_USB_CONFIGFS_F_MIDI is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_SUNXI_USB=m
CONFIG_USB_SUNXI_USB=y
CONFIG_USB_SUNXI_USB_MANAGER=m
CONFIG_USB_SUNXI_USB_DEBUG=m
CONFIG_USB_SUNXI_USB_ADB=m
CONFIG_USB_SUNXI_USB_DEBUG=y
CONFIG_USB_SUNXI_USB_ADB=y
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_UWB is not set
CONFIG_MMC=m
@ -2677,7 +2763,11 @@ CONFIG_VIRTIO=y
# Microsoft Hyper-V guest support
#
CONFIG_STAGING=y
# CONFIG_PRISM2_USB is not set
# CONFIG_COMEDI is not set
# CONFIG_RTLLIB is not set
# CONFIG_R8712U is not set
# CONFIG_R8188EU is not set
#
# Speakup console speech
@ -2845,7 +2935,7 @@ CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_FSL_FTM is not set
# CONFIG_PWM_PCA9685 is not set
# CONFIG_PWM_SUN4I is not set
CONFIG_PWM_SUN4I=y
# CONFIG_PWM_SUNXI is not set
CONFIG_PWM_SUNXI_GROUP=y
# CONFIG_DSP_DEBUG is not set
@ -2896,7 +2986,7 @@ CONFIG_ANDROID=y
# FPGA Configuration Support
#
# CONFIG_FPGA is not set
# CONFIG_SUNXI_MPP is not set
CONFIG_SUNXI_MPP=y
# CONFIG_TEE is not set
#
@ -2981,7 +3071,7 @@ CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
@ -3461,7 +3551,7 @@ CONFIG_NLATTR=y
CONFIG_LIBFDT=y
CONFIG_LIBM=y
# CONFIG_SG_SPLIT is not set
CONFIG_SG_POOL=y
# CONFIG_SG_POOL is not set
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_SBITMAP=y
CONFIG_VIRTUALIZATION=y

View File

@ -47,7 +47,8 @@ size = 16
[partition]
name = boot
size = 5632
size = 6272
# size = 7040
downloadfile = "boot.fex"
user_type = 0x8000
@ -59,6 +60,7 @@ size = 16
[partition]
name = rootfs
;size = 12288
size = 4864
downloadfile = "rootfs.fex"
user_type = 0x8000
@ -71,7 +73,7 @@ size = 16
[partition]
name = extend
size = 3328
size = 30464
downloadfile = "usr.fex"
user_type = 0x8000
@ -86,6 +88,12 @@ size = 16
size = 1024
user_type = 0x8000
;[partition]
; name = private
; size = 1024
; user_type = 0x8000
; keydata = 0x8000
;[partition]
; name = env
; size = 512

View File

@ -0,0 +1,32 @@
#
#config file for sun8iw21
#
SUPPORT_BOARD=qg3101 r853s v851 v853 v853s r853
ARCH = arm
PLATFORM = sun8iw21p1
CFG_BOOT0_RUN_ADDR=0x20000
CFG_SYS_INIT_RAM_SIZE=0x10000
CFG_FES1_RUN_ADDR=0x28000
CFG_SBOOT_RUN_ADDR=0x20480
CFG_SUNXI_GPIO_V2=y
#CFG_SUNXI_FDT=y
#LOGO
CFG_BOOT0_LOGO_TO_KERNEL=y
#ISP
CFG_BOOT0_WIRTE_RTC_TO_ISP=y
CFG_ISPFLAG_RTC_INDEX=0x1
CFG_ISPFLAG_RTC_VALUE=0x1
CFG_SUNXI_EFUSE =y
#E907
CFG_RISCV_E907=y
CFG_SUNXI_ELF=y
CFG_MELISELF_LOAD_ADDR=0x43080000
#E907 interrupt table info update
#CFG_UPDATA_IRQ_TAB=y

View File

@ -0,0 +1,63 @@
#
#config file for sun8iw21 fastboot
#
#stroage
FILE_EXIST=$(shell if [ -f $(TOPDIR)/board/$(PLATFORM)/common.mk ]; then echo yes; else echo no; fi;)
EXT_FILE_EXIST=$(shell if [ -f $(TOPDIR)/board/$(PLATFORM)/common$(LICHEE_BOARD).mk ]; then echo yes; else echo no; fi;)
ifeq (x$(EXT_FILE_EXIST),xyes)
include $(TOPDIR)/board/$(PLATFORM)/common$(LICHEE_BOARD).mk
else ifeq (x$(FILE_EXIST),xyes)
include $(TOPDIR)/board/$(PLATFORM)/common.mk
else
include $(TOPDIR)/board/$(CP_BOARD)/common.mk
endif
MODULE=spinorfastboot
CFG_SUNXI_SPINOR =y
CFG_SUNXI_SPI =y
CFG_SUNXI_SPIF =y
CFG_SUNXI_DMA =y
CFG_SPI_USE_DMA =y
CFG_SPINOR_UBOOT_OFFSET=128
#CFG_SUNXI_FDT=y
CFG_BOOT0_LOAD_KERNEL=y
CFG_KERNEL_BOOTIMAGE=y
CFG_KERNEL_CHECKSUM=n #y will check kernel checksum in bimage, but slower
CFG_KERNEL_LOAD_ADDR=0x40007800
CFG_SUNXI_FDT_ADDR=0x41d00000
#CFG_LOAD_DTB_FROM_KERNEL=y
CFG_SUNXI_NO_UPDATE_FDT_CHOSEN=y
#CFG_SUNXI_SUPPORT_RAMDISK=y
#CFG_RAMDISK_ADDR=0x43000000
CFG_SUNXI_GPT=y
CFG_SPINOR_GPT_ARD=4064 # 0 or 40960 sector
CFG_SUNXI_ENV=y
CFG_SUNXI_ENV_SIZE=0x1000 # linux should be the same with LICHEE_REDUNDANT_ENV_SIZE.
CFG_SUNXI_HAVE_REDUNDENV=y
#IR STATE
CFG_BOOT0_WRITE_IRSATTE_TO_ISP=y
CFG_SUNXI_PHY_KEY=y
CFG_GPADC_KEY=y
CFG_BOOT0_LOAD_FLASH=y
CFG_BOOT0_LOAD_ISPPARM=y
CFG_ISPPARAM_LOAD_ADDR=0x43BFE000
CFG_ISPPARAM_SIZE=0x10 #unit:sector
CFG_SPINOR_ISPPARAM_OFFSET=CFG_SPINOR_UBOOT_OFFSET - CFG_ISPPARAM_SIZE - 0x8
CFG_SET_GPIO_NEW=y
#ISP
CFG_BOOT0_WIRTE_RTC_TO_ISP=y
CFG_ISPFLAG_RTC_INDEX=0x1
CFG_ISPFLAG_RTC_VALUE=0x1
CFG_SUNXI_EFUSE =y
CFG_MELISELF_LOAD_ADDR=0x43080000

File diff suppressed because it is too large Load Diff

View File

@ -1046,11 +1046,11 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
usleep_range(1000, 1200);
vin_gpio_set_status(sd, PWDN, 1);
vin_gpio_set_status(sd, RESET, 1);
//vin_gpio_set_status(sd, POWER_EN, 1);
vin_gpio_set_status(sd, POWER_EN, 1);
vin_gpio_write(sd, PWDN, CSI_GPIO_LOW);
vin_gpio_write(sd, RESET, CSI_GPIO_LOW);
usleep_range(1000, 1200);
//vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
vin_gpio_write(sd, POWER_EN, CSI_GPIO_LOW);
//vin_set_pmu_channel(sd, CMBCSI, ON);
vin_set_pmu_channel(sd, IOVDD, ON);
usleep_range(1000, 1200);
@ -1069,7 +1069,7 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
sensor_dbg("PWR_OFF!do nothing\n");
cci_lock(sd);
vin_set_mclk(sd, OFF);
//vin_gpio_write(sd, POWER_EN, CSI_GPIO_LOW);
vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
//vin_set_pmu_channel(sd, CMBCSI, OFF);
vin_set_pmu_channel(sd, AVDD, OFF);
vin_set_pmu_channel(sd, DVDD, OFF);

View File

@ -27,6 +27,8 @@ MODULE_LICENSE("GPL");
#define MCLK (24*1000*1000)
#define V4L2_IDENT_SENSOR (0x002B)
#define HC_ORIGIN_DEFINED_BOARD
/*
* Our nominal (default) frame rate.
*/
@ -44,7 +46,7 @@ MODULE_LICENSE("GPL");
#define SENSOR_NAME_2 "ov02b10_mipi"
#define SENSOR_1600x1200_30FPS 1
#define SENSOR_1280x720_30FPS 1
#define SENSOR_1280x720_30FPS 0
#define SENSOR_1280x720_15FPS 0
#define SENSOR_800x600_15FPS 0
#define SENSOR_640x480_15FPS 0
@ -664,6 +666,7 @@ static struct regval_list sensor_1600x1200_30fps_regs[] = {
{0xfd, 0x01},
{0x0e, 0x02},
{0x0f, 0x1a},
{0x12, 0x01}, //mirror and flip
{0x18, 0x00},
{0x22, 0xff},
{0x23, 0x02},
@ -842,6 +845,77 @@ static int sensor_s_exp_gain(struct v4l2_subdev *sd,
return 0;
}
static data_type sensor_flip_status;
static int sensor_s_vflip(struct v4l2_subdev *sd, int enable)
{
data_type get_value;
data_type set_value;
if (!(enable == 0 || enable == 1))
return -1;
sensor_read(sd, 0x12, &get_value);
sensor_dbg("ready to vflip, regs_data = 0x%x\n", get_value);
if (enable) {
set_value = get_value | 0x02;
} else {
set_value = get_value & 0xFD;
}
sensor_write(sd, 0x12, set_value);
sensor_flip_status = set_value;
//usleep_range(80000, 100000);
//sensor_read(sd, 0x17, &get_value);
//sensor_dbg("after vflip, regs_data = 0x%x, sensor_flip_status = %d\n",
// get_value, sensor_flip_status);
return 0;
}
static int sensor_s_hflip(struct v4l2_subdev *sd, int enable)
{
data_type get_value;
data_type set_value;
if (!(enable == 0 || enable == 1))
return -1;
sensor_read(sd, 0x12, &get_value);
sensor_dbg("ready to hflip, regs_data = 0x%x\n", get_value);
if (enable) {
set_value = get_value | 0x01;
} else {
set_value = get_value & 0xFE;
}
sensor_write(sd, 0x12, set_value);
sensor_flip_status = set_value;
//usleep_range(80000, 100000);
//sensor_read(sd, 0x17, &get_value);
//sensor_dbg("after hflip, regs_data = 0x%x, sensor_flip_status = %d\n",
// get_value, sensor_flip_status);
return 0;
}
static int sensor_g_flip(struct v4l2_subdev *sd, struct sensor_flip *flip)
{
#ifdef CONFIG_ENABLE_SENSOR_FLIP_OPTION
if (sensor_flip_status & 0x01)
flip->hflip = 1;
else
flip->hflip = 0;
if (sensor_flip_status & 0x02)
flip->vflip = 1;
else
flip->vflip = 0;
#else
flip->hflip = 0;
flip->vflip = 0;
#endif
return 0;
}
static void sensor_s_sw_stby(struct v4l2_subdev *sd, int on_off)
{
@ -851,6 +925,9 @@ static void sensor_s_sw_stby(struct v4l2_subdev *sd, int on_off)
/*
* Stuff that knows about the sensor.
*/
#ifdef HC_ORIGIN_DEFINED_BOARD
static int pwdn_flag = 0;
#endif
static int sensor_power(struct v4l2_subdev *sd, int on)
{
static int use_count = 0;
@ -876,19 +953,21 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
sensor_print("%d, PWR_ON! use_count:%d\n", __LINE__, use_count);
cci_lock(sd);
if(use_count == 0) {
vin_gpio_set_status(sd, SM_HS, 1);
vin_gpio_set_status(sd, SM_VS, 1);
vin_gpio_write(sd, SM_VS, CSI_GPIO_HIGH); //AVDD_EN
vin_gpio_write(sd, SM_HS, CSI_GPIO_HIGH); //DOVDD_EN
vin_gpio_set_status(sd, POWER_EN, 1);
vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH); //AVDD&DOVDD
}
use_count++;
vin_gpio_set_status(sd, PWDN, 1);
vin_gpio_set_status(sd, RESET, 1);
vin_gpio_set_status(sd, POWER_EN, 1);
#ifdef HC_ORIGIN_DEFINED_BOARD
if (pwdn_flag == 0)
{
vin_gpio_set_status(sd, PWDN, 1);
pwdn_flag = 1;
}
#else
vin_gpio_set_status(sd, PWDN, 1);
vin_gpio_write(sd, PWDN, CSI_GPIO_LOW);
#endif
vin_gpio_write(sd, RESET, CSI_GPIO_LOW);
vin_gpio_write(sd, POWER_EN, CSI_GPIO_HIGH);
usleep_range(5000, 6000);
vin_set_mclk_freq(sd, MCLK);
@ -910,7 +989,10 @@ static int sensor_power(struct v4l2_subdev *sd, int on)
vin_gpio_write(sd, RESET, CSI_GPIO_LOW);
vin_set_mclk(sd, OFF);
#ifdef HC_ORIGIN_DEFINED_BOARD
#else
vin_gpio_write(sd, PWDN, CSI_GPIO_LOW);
#endif
use_count--;
sensor_print("%d, PWR_OFF! use_count:%d\n", __LINE__, use_count);
cci_unlock(sd);
@ -944,6 +1026,7 @@ static int sensor_reset(struct v4l2_subdev *sd, u32 val)
static int sensor_detect(struct v4l2_subdev *sd)
{
#if !defined CONFIG_VIN_INIT_MELIS
data_type rdval;
unsigned int sensor_id;
struct i2c_client *client = v4l2_get_subdevdata(sd);
@ -959,6 +1042,7 @@ static int sensor_detect(struct v4l2_subdev *sd)
return -ENODEV;
}
#endif
return 0;
}
@ -1020,8 +1104,9 @@ static int sensor_get_fmt_mbus_core(struct v4l2_subdev *sd, int *code)
// default:
// *code = info->fmt->mbus_code;
// }
*code = MEDIA_BUS_FMT_SRGGB10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
// *code = MEDIA_BUS_FMT_SRGGB10_1X10;//MEDIA_BUS_FMT_SBGGR10_1X10;
*code = MEDIA_BUS_FMT_SBGGR10_1X10;
sensor_print("%s(), L:%d, MEDIA_BUS_FMT_SBGGR10_1X10\n", __func__, __LINE__);
return 0;
}
@ -1057,6 +1142,9 @@ static long sensor_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
case VIDIOC_VIN_SET_IR:
sensor_set_ir(sd, (struct ir_switch *)arg);
break;
case VIDIOC_VIN_SENSOR_GET_FLIP:
sensor_g_flip(sd, (struct sensor_flip *)arg);
break;
case VIDIOC_S_INPUT:
break;
default:
@ -1071,7 +1159,8 @@ static long sensor_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
static struct sensor_format_struct sensor_formats[] = {
{
.desc = "Raw RGB Bayer",
.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
//.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
.mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
.regs = sensor_fmt_raw,
.regs_size = ARRAY_SIZE(sensor_fmt_raw),
.bpp = 1
@ -1304,6 +1393,10 @@ static int sensor_s_ctrl(struct v4l2_ctrl *ctrl)
return sensor_s_gain(sd, ctrl->val);
case V4L2_CID_EXPOSURE:
return sensor_s_exp(sd, ctrl->val);
case V4L2_CID_HFLIP:
return sensor_s_hflip(sd, ctrl->val);
case V4L2_CID_VFLIP:
return sensor_s_vflip(sd, ctrl->val);
}
return -EINVAL;
}
@ -1435,11 +1528,11 @@ static int sensor_probe(struct i2c_client *client,
info->exp = 0;
info->gain = 0;
info->preview_first_flag = 1;
info->wdr_time_hs = 0x18; //zcy md 0x18 to 0x12
info->time_hs = 0x20; //zcy md 0x20 to 0x16
info->wdr_time_hs = 0x28; //zcy md 0x18 to 0x12
info->time_hs = 0x28; //zcy md 0x20 to 0x16
info->deskew = 0x2;
info->first_power_flag = 1;
info->ir_state = IDLE_STATE;
// info->ir_state = IDLE_STATE;
return 0;
}

View File

@ -0,0 +1,481 @@
#
# Automatically generated file; DO NOT EDIT.
# Melis3.x SDK Configuration
#
#
# Kernel Setup
#
#
# ARCH Support
#
CONFIG_RISCV=y
#
# RISC-V ARCH Setup
#
CONFIG_SUPPORT_FP_KERNEL=y
CONFIG_RV32=y
CONFIG_RV_MACHINE_MODE=y
CONFIG_RV_CLINT=y
# CONFIG_CPU_DCACHE_DISABLE is not set
CONFIG_ARCH_RISCV_FPU=y
# CONFIG_FPU_FLOAT is not set
CONFIG_FPU_DOUBLE=y
#
# Sunxi Platform Support
#
# CONFIG_CPUFREQ_SUPPORT is not set
CONFIG_PANIC_CLI=y
CONFIG_PANIC_CLI_PWD=y
#
# RTOS Kernel Setup
#
CONFIG_RTTKERNEL=y
#
# RT-Thread Kernel Setup
#
CONFIG_RT_NAME_MAX=32
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
# CONFIG_SMP is not set
CONFIG_RT_ALIGN_SIZE=8
# CONFIG_RT_THREAD_PRIORITY_8 is not set
CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_USING_IDLE_HOOK=y
CONFIG_RT_IDEL_HOOK_LIST_SIZE=4
CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=8
CONFIG_RT_TIMER_THREAD_STACK_SIZE=8192
CONFIG_RT_DEBUG=y
# CONFIG_RT_DEBUG_COLOR is not set
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
# CONFIG_RT_DEBUG_IPC_CONFIG is not set
# CONFIG_RT_DEBUG_TIMER_CONFIG is not set
# CONFIG_RT_DEBUG_IRQ_CONFIG is not set
# CONFIG_RT_DEBUG_MEM_CONFIG is not set
# CONFIG_RT_DEBUG_SLAB_CONFIG is not set
# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set
# CONFIG_RT_DEBUG_MODULE_CONFIG is not set
#
# Inter-Thread communication
#
CONFIG_RT_USING_SEMAPHORE=y
CONFIG_RT_USING_MUTEX=y
CONFIG_RT_USING_EVENT=y
CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_PIPE is not set
# CONFIG_RT_USING_RINGBUFFER is not set
CONFIG_RT_USING_WAITQUEUE=y
CONFIG_RT_USING_WORKQUEUE=y
# CONFIG_RT_USING_COMPLETION is not set
# CONFIG_RT_USING_SIGNALS is not set
#
# Memory Management
#
CONFIG_RT_USING_MEMPOOL=y
CONFIG_RT_USING_MEMHEAP=y
# CONFIG_RT_USING_NOHEAP is not set
CONFIG_RT_USING_SMALL_MEM=y
# CONFIG_RT_USING_SLAB is not set
# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
# CONFIG_RT_USING_MEMTRACE is not set
CONFIG_RT_USING_HEAP=y
#
# Kernel Device Object
#
CONFIG_RT_USING_DEVICE=y
CONFIG_RT_USING_DEVICE_OPS=y
# CONFIG_RT_USING_INTERRUPT_INFO is not set
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=256
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
CONFIG_RT_VER_NUM=0x30104
CONFIG_RT_USING_TASK_PERF_MONITOR=y
# CONFIG_RT_SUPPORT_OPENOCD is not set
# CONFIG_RT_JLINK_RTT is not set
# CONFIG_SLAB_DEBUG is not set
CONFIG_CHECK_PREEMPT_LEVEL_IN_IPC=y
# CONFIG_AW_CHECK_MELIS_TASK_EXIT is not set
CONFIG_CONSISTENT_CONTEXT_SWITCH=y
CONFIG_NEST_INTERRUPT=y
CONFIG_HZ=1000
# CONFIG_KERNEL_SAMPLE_TEST is not set
#
# Drivers Setup
#
CONFIG_UART_BAUD_RATE=115200
#
# Melis Source Support
#
CONFIG_DRIVER_GPIO=y
# CONFIG_DRIVER_TWIBUS is not set
# CONFIG_DRIVER_SPIBUS is not set
# CONFIG_DRIVER_PWM is not set
CONFIG_DRIVER_SERIAL=y
# CONFIG_DRIVER_DMA is not set
CONFIG_DRIVER_CCMU=y
# CONFIG_DRIVER_NAND_FLASH is not set
#
# SoC HAL Drivers
#
#
# Common Option
#
CONFIG_DRIVER_SYSCONFIG=y
CONFIG_DMA_VMAREA_START_ADDRESS=0x80000000
# CONFIG_DMA_COHERENT_HEAP is not set
#
# CCMU Devices
#
CONFIG_DRIVERS_CCMU=y
CONFIG_DRIVERS_SUNXI_CLK=y
# CONFIG_HAL_TEST_CLK is not set
#
# UART Devices
#
CONFIG_DRIVERS_UART=y
# CONFIG_HAL_TEST_UART is not set
# CONFIG_SUNXI_UART_SUPPORT_POLL is not set
# CONFIG_SUNXI_UART_REGISTER_UART0 is not set
# CONFIG_SUNXI_UART_REGISTER_UART1 is not set
# CONFIG_SUNXI_UART_REGISTER_UART2 is not set
CONFIG_SUNXI_UART_REGISTER_UART3=y
CONFIG_CLI_UART_PORT=3
#
# GPIO Devices
#
CONFIG_DRIVERS_GPIO=y
# CONFIG_HAL_TEST_GPIO is not set
#
# DMA Devices
#
CONFIG_DRIVERS_DMA=y
# CONFIG_HAL_TEST_DMA is not set
#
# TWI Devices
#
CONFIG_DRIVERS_TWI=y
# CONFIG_HAL_TEST_TWI is not set
#
# SPI Devices
#
# CONFIG_DRIVERS_SPI is not set
#
# PWM Devices
#
# CONFIG_DRIVERS_PWM is not set
#
# GPADC Devices
#
# CONFIG_DRIVERS_GPADC is not set
#
# Message Box Devices
#
CONFIG_DRIVERS_MSGBOX=y
# CONFIG_DRIVERS_MSGBOX_SX is not set
CONFIG_DRIVERS_MSGBOX_AMP=y
# CONFIG_HAL_TEST_MSGBOX is not set
#
# VIN Devices
#
CONFIG_DRIVERS_VIN=y
# CONFIG_ENABLE_AIISP is not set
CONFIG_ISP_READ_THRESHOLD=y
# CONFIG_ISP_FAST_CONVERGENCE is not set
# CONFIG_ISP_ONLY_HARD_LIGHTADC is not set
# CONFIG_ISP_HARD_LIGHTADC is not set
CONFIG_ISP_NUMBER=2
#
# sensor driver select
#
# CONFIG_SENSOR_GC1054_MIPI is not set
# CONFIG_SENSOR_GC1084_MIPI is not set
# CONFIG_SENSOR_GC2053_MIPI is not set
# CONFIG_SENSOR_GC2083_MIPI is not set
# CONFIG_SENSOR_GC4663_MIPI is not set
# CONFIG_SENSOR_SC2355_MIPI is not set
# CONFIG_SENSOR_SC2336_MIPI is not set
# CONFIG_SENSOR_SC3336_MIPI is not set
# CONFIG_SENSOR_SC500AI_MIPI is not set
# CONFIG_SENSOR_SC5336_MIPI is not set
# CONFIG_SENSOR_TP9950_MIPI is not set
# CONFIG_SENSOR_TP9953_DVP is not set
# CONFIG_SENSOR_IMX319_MIPI is not set
# CONFIG_SENSOR_IMX335_MIPI is not set
# CONFIG_SENSOR_SC035HGS_MIPI is not set
# CONFIG_SENSOR_TP2815_MIPI is not set
# CONFIG_SENSOR_GC0406_MIPI is not set
# CONFIG_SENSOR_BF2253L_MIPI is not set
# CONFIG_SENSOR_N5_DVP is not set
# CONFIG_SENSOR_BF2257CS_MIPI is not set
# CONFIG_SENSOR_F355P_MIPI is not set
# CONFIG_SENSOR_F355P_DVP is not set
# CONFIG_SENSOR_F37P_DVP is not set
# CONFIG_SENSOR_F37P_MIPI is not set
CONFIG_SENSOR_OV02B10_MIPI=y
#
# Osal Setup
#
CONFIG_DRIVER_OSAL_CFG=y
CONFIG_SYSCONF_BUILDIN=y
#
# Drivers Test Sample
#
# CONFIG_SUNXI_PWM_TEST is not set
# CONFIG_SUNXI_GPIO_TEST is not set
# CONFIG_SUNXI_TWI_TEST is not set
# CONFIG_SUNXI_RTC_TEST is not set
# CONFIG_SUNXI_UART_TEST is not set
# CONFIG_SUNXI_STANDBY_TEST is not set
#
# Components Support
#
#
# Thirdparty Components Support
#
#
# RT-Thread DFS Support
#
# CONFIG_RT_USING_DFS is not set
#
# OpenAMP Support
#
CONFIG_SUPPORT_LIBMETAL=y
CONFIG_SUPPORT_AMP=y
CONFIG_AMP_SLAVE_MODE=y
CONFIG_MBOX_CHANNEL=0
CONFIG_MBOX_QUEUE_LENGTH=16
# CONFIG_RPMSG_DEMO is not set
CONFIG_RPMSG_NOTIFY=y
# CONFIG_RPMSG_SPEEDTEST is not set
CONFIG_AMP_SHARE_IRQ=y
CONFIG_RPMSG_CLIENT=y
# CONFIG_RPMSG_CLIENT_TEST is not set
CONFIG_RPMSG_CLIENT_QUEUE_SIZE=16
# CONFIG_RPMSG_CLIENT_DEBUG is not set
CONFIG_RPMSG_HEARBEAT=y
CONFIG_RPMSG_REMOTE_NAME="e907_rproc"
CONFIG_SLAVE_EARLY_BOOT=y
CONFIG_RPBUF_DEMO=y
# CONFIG_AMP_TRACE_SUPPORT is not set
# CONFIG_CXX is not set
#
# Command shell
#
CONFIG_RT_USING_FINSH=y
CONFIG_FINSH_THREAD_NAME="tshell"
CONFIG_FINSH_USING_HISTORY=y
CONFIG_FINSH_HISTORY_LINES=5
CONFIG_FINSH_USING_SYMTAB=y
CONFIG_FINSH_USING_DESCRIPTION=y
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
CONFIG_FINSH_THREAD_PRIORITY=21
CONFIG_FINSH_THREAD_STACK_SIZE=16384
CONFIG_FINSH_CMD_SIZE=80
# CONFIG_FINSH_USING_AUTH is not set
CONFIG_FINSH_USING_MSH=y
CONFIG_FINSH_USING_MSH_DEFAULT=y
# CONFIG_FINSH_USING_MSH_ONLY is not set
CONFIG_FINSH_ARG_MAX=10
#
# Commands
#
CONFIG_COMMAND_FORK=y
# CONFIG_COMMAND_MEM_LAYOUT is not set
CONFIG_COMMAND_DATE=y
# CONFIG_COMMAND_EXIT is not set
# CONFIG_COMMAND_UPDATE is not set
# CONFIG_COMMAND_INSMOD is not set
# CONFIG_COMMAND_MEMTESTER is not set
# CONFIG_COMMAND_PQD is not set
# CONFIG_COMMAND_MMLK is not set
# CONFIG_COMMAND_HELLOWORLD is not set
# CONFIG_COMMAND_RTT_VERSION is not set
# CONFIG_COMMAND_WATCHDOG is not set
# CONFIG_COMMAND_MMC_READ is not set
# CONFIG_COMMAND_MMC_WRITE is not set
# CONFIG_COMMAND_PRODUCT is not set
CONFIG_COMMAND_BACKTRACE=y
# CONFIG_COMMAND_REBOOT is not set
CONFIG_COMMAND_PANIC=y
CONFIG_COMMAND_PRINT_MEM=y
CONFIG_COMMAND_WRITE_MEM=y
# CONFIG_COMMAND_LISTIRQ is not set
# CONFIG_COMMAND_SLABINFO is not set
# CONFIG_COMMAND_UNAME is not set
# CONFIG_COMMAND_CPUFREQ is not set
#
# Iobox Command
#
# CONFIG_IOBOX_TAIL is not set
# CONFIG_IOBOX_TOUCH is not set
# CONFIG_IOBOX_GREP is not set
# CONFIG_IOBOX_HEXDUMP is not set
# CONFIG_IOBOX_LS is not set
# CONFIG_IOBOX_RM is not set
# CONFIG_IOBOX_RWCHECK is not set
# CONFIG_IOBOX_RWSPEED is not set
# CONFIG_IOBOX_RSPEED is not set
# CONFIG_IOBOX_WSPEED is not set
# CONFIG_IOBOX_MOUNT is not set
#
# archival support
#
# CONFIG_SUBSYS_ARCHIVAL is not set
CONFIG_PTHREAD=y
# CONFIG_BENCHMARK is not set
# CONFIG_KERNEL_COMPRESS is not set
CONFIG_LIBC_MMAP=y
#
# Allwinner Components Support
#
# CONFIG_SUBSYS_KGDB is not set
#
# AW Multi-Console Compenents
#
CONFIG_SUBSYS_MULTI_CONSOLE=y
# CONFIG_MULTI_CONSOLE_DEBUG is not set
# CONFIG_MULTI_CONSOLE_REDIRECT_CMD is not set
CONFIG_MULTI_CONSOLE_RPMSG=y
#
# RPBuf framework
#
CONFIG_COMPONENTS_RPBUF=y
CONFIG_COMPONENTS_RPBUF_SERVICE_RPMSG=y
CONFIG_COMPONENTS_RPBUF_CONTROLLER=y
CONFIG_COMPONENTS_RPBUF_RPMSG_DEMO=y
CONFIG_VIRT_LOG=y
CONFIG_VIRT_LOG_SIZE=4
# CONFIG_SUBSYS_SAMPLES is not set
CONFIG_STANDBY=y
CONFIG_STANDBY_MSGBOX=y
#
# standby config
#
CONFIG_STANDBY_MSGBOX_CHANNEL=1
CONFIG_STANDBY_MSGBOX_IRQ=144
CONFIG_DEBUG_BACKTRACE=y
CONFIG_COMPONENTS_WAITQUEUE=y
#
# Libc library
#
CONFIG_LIBCNEWLIB=y
# CONFIG_LIBCNONE is not set
CONFIG_ARMCPU_HIGH_VECTOR_ADDRESS=y
CONFIG_IOREGS_VBASE=0xf0000000
CONFIG_SRAM_VBASE=0xf0000000
CONFIG_CLK_TUNING_VBASE=0xffff2000
CONFIG_ROOTFS_FATFS=y
# CONFIG_CHANGE_COMPRESS_METHOD is not set
# CONFIG_DOUBLE_FREE_CHECK is not set
# CONFIG_CMSIS is not set
#
# Environment Setup
#
# CONFIG_SDK_RELEASE is not set
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MACROS is not set
# CONFIG_MODULES is not set
CONFIG_MODVERSIONS=y
# CONFIG_BOOT_LOGO_BMP is not set
# CONFIG_SHOW_FULL_VERSION is not set
CONFIG_CROSS_COMPILE="riscv64-unknown-elf-"
# CONFIG_INIT_CARD_PRODUCT is not set
CONFIG_LOG_DEFAULT_LEVEL=1
# CONFIG_CC_STACKPROTECTOR_STRONG is not set
# CONFIG_LOG_RELEASE is not set
# CONFIG_BOOTUP_TURBO is not set
# CONFIG_DISABLE_ALL_DEBUGLOG is not set
# CONFIG_PRINT_TIMESTAMP is not set
CONFIG_DYNAMIC_LOG_LEVEL_SUPPORT=y
CONFIG_LOG_LEVEL_STORAGE_NONE=y
# CONFIG_LOG_LEVEL_STORAGE_RTC is not set
CONFIG_DYNAMIC_LOG_DEFAULT_LEVEL=2
# CONFIG_FRAME_POINTER is not set
CONFIG_FRAME_WARN=8192
CONFIG_UART_CLI_USE_NONE=y
# CONFIG_UART_CLI_USE_MUTEX is not set
# CONFIG_UART_CLI_USE_SPINLOCK is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_CC_OPTIMIZE_FOR_DEBUG=y
CONFIG_CC_OPTIMIZE_LEVEL=2
# CONFIG_ARM_UNWIND is not set
CONFIG_OS_MELIS=y
# CONFIG_KALLSYMS is not set
# CONFIG_MELIS_GENERATE_HEAD is not set
# CONFIG_DISABLE_ALL_UART_LOG is not set
#
# Toolchain Setup
#
CONFIG_TOOLCHAIN_MACH_FLAGS="-mcmodel=medany -mabi=ilp32d -march=rv32imafdcxthead"
CONFIG_TOOLCHAIN_LD_FLAGS="-melf32lriscv"
#
# Platform Setup
#
# CONFIG_SOC_SUN3IW2P2 is not set
# CONFIG_SOC_SUN3IW2P1 is not set
# CONFIG_SOC_SUN3IW1P1 is not set
# CONFIG_SOC_SUN8IW18P1 is not set
# CONFIG_SOC_SUN8IW19P1 is not set
# CONFIG_SOC_SUN20IW1P1 is not set
CONFIG_SOC_SUN20IW3P1=y
# CONFIG_SOC_SUN3I is not set
# CONFIG_SOC_SUN8I is not set
CONFIG_SOC_SUN20I=y
# CONFIG_ARCH_SUN8IW19 is not set
CONFIG_SOC_SUN20IW3=y
CONFIG_ARCH_SUN20IW3=y
CONFIG_DRAM_PHYBASE=0x43c00000
CONFIG_DRAM_VIRTBASE=0x43c00000
CONFIG_DRAM_SIZE=0x0400000
CONFIG_COHERENT_SIZE=0x00c00000
CONFIG_COHERENT_START_ADDR=0xa0000000
CONFIG_LOAD_DATA_TO_MEM_FROM_STORAGE=y

View File

@ -0,0 +1,58 @@
;---------------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
; 描述gpio的形式Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态>
;---------------------------------------------------------------------------------------------------------
;----------------------------------------------------------------------------------
;i2c configuration
;----------------------------------------------------------------------------------
[twi0]
twi0_scl = port:PE04<8><1><default><default>
twi0_sda = port:PE05<8><1><default><default>
[twi1]
twi1_scl = port:PE02<8><1><default><default>
twi1_sda = port:PE03<8><1><default><default>
;[twi2]
;twi2_scl = port:PH05<4><1><default><default>
;twi2_sda = port:PH06<4><1><default><default>
;[twi3]
;twi3_scl = port:PI03<4><1><default><default>
;twi3_sda = port:PI04<4><1><default><default>
;[twi4]
;twi4_scl = port:PI01<4><1><default><default>
;twi4_sda = port:PI02<4><1><default><default>
;----------------------------------------------------------------------------------
;uart configuration
;----------------------------------------------------------------------------------
;[uart0]
;uart_tx = port:PB08<5><1><default><default>
;uart_rx = port:PB09<5><1><default><default>
;[uart1]
;uart_tx = port:PB10<5><1><default><default>
;uart_rx = port:PB11<5><1><default><default>
;[uart2]
;uart_tx = port:PH05<5><1><default><default>
;uart_rx = port:PH06<5><1><default><default>
[uart3]
uart_tx = port:PE00<7><1><default><default>
uart_rx = port:PE01<7><1><default><default>
[sensor0]
used0 = 1
reset0 = port:PD20<1><1><default><default>
pwdn0 = port:PE10<1><1><default><default>
mclk0 = port:PE12<5><1><default><default>
[sensor1]
used1 = 1
reset1 = port:PD21<1><1><default><default>
pwdn1 = port:PE10<1><1><default><default>
mclk1 = port:PE13<5><1><default><default>

View File

@ -0,0 +1,291 @@
/*
* The OUTPUT_ARCH command specifies the machine architecture where the
* argument is one of the names used in the T-HEAD library.
*/
OUTPUT_ARCH("riscv")
OUTPUT_FORMAT("elf32-littleriscv","elf64-littleriscv","elf32-littleriscv")
MEMORY
{
/*DRAM_KERNEL: 4M */
DRAM_SEG_KRN (rwx) : ORIGIN = 0x43c00000, LENGTH = 0x00400000
}
PHDRS
{
sbi PT_LOAD FLAGS(5); /* PF_R|PF_X */
boot PT_LOAD FLAGS(5); /* PF_R|PF_X */
text PT_LOAD FLAGS(5); /* PF_R|PF_X */
rodata PT_LOAD FLAGS(4); /* PF_R */
data PT_LOAD FLAGS(6); /* PF_R|PF_W */
note PT_NOTE FLAGS(4); /* PF_R */
debug PT_NOTE FLAGS(0); /* PF_R */
}
/* This area could be used for idle thead at last.*/
__STACKSIZE__ = 4096;
/* Get Kernel Running Address */
__DRAM_KRN_RUN_ADDRESS = ORIGIN(DRAM_SEG_KRN);
/* 0x9002 is insn "ebreak". */
ENTRY(_start)
SECTIONS
{
. = __DRAM_KRN_RUN_ADDRESS;
PROVIDE(_firmware_start = .);
.head.text __DRAM_KRN_RUN_ADDRESS : AT(__DRAM_KRN_RUN_ADDRESS)
{
. = ALIGN(8);
KEEP(*(.start))
. = ALIGN(8);
} > DRAM_SEG_KRN :boot =0x9002
.dram_seg.text ADDR(.head.text) + SIZEOF(.head.text) : AT(LOADADDR(.head.text) + SIZEOF(.head.text))
{
. = ALIGN(8);
PROVIDE(__code_start = ABSOLUTE(.));
*(.init)
*(.text)
*(.text.*)
*(.text*)
*(.stub)
*(.eh_frame_hdr)
*(.eh_frame_entry)
*(.gnu.warning)
*(.gnu.linkonce.t*)
*(.glue_7)
*(.glue_7t)
*(.gcc_except_table)
*(.jcr)
*(.fini)
*(.reuse)
KEEP(*(.eh_frame))
. = ALIGN(8);
PROVIDE(__code_end = ABSOLUTE(.));
} > DRAM_SEG_KRN :text =0x9002
PROVIDE(__readonly_area_start = .);
.dram_seg.rodata ADDR(.dram_seg.text) + SIZEOF(.dram_seg.text) : AT(LOADADDR(.dram_seg.text) + SIZEOF(.dram_seg.text))
{
. = ALIGN(8);
*(.rodata)
*(.rodata.*)
*(.rodata*)
*(.srodata)
*(.srodata.*)
*(.srodata*)
*(.gnu.linkonce.r*)
*(.rel.dyn*)
*(.flash)
KEEP(*.o(.openocd_support))
KEEP(*.o(.ramdisk))
KEEP(*.o(.dtbcfgs))
. = ALIGN(8);
} > DRAM_SEG_KRN :rodata =0x9002
.dram_seg.initcall ADDR(.dram_seg.rodata) + SIZEOF(.dram_seg.rodata) : AT(LOADADDR(.dram_seg.rodata) + SIZEOF(.dram_seg.rodata))
{
. = ALIGN(8);
__initcall_start = .;
KEEP(*(.initcallearly.init))
__initcall0_start = .;
KEEP(*(.initcall0.init))
KEEP(*(.initcall0s.init))
__initcall1_start = .;
KEEP(*(.initcall1.init))
KEEP(*(.initcall1s.init))
__initcall2_start = .;
KEEP(*(.initcall2.init))
KEEP(*(.initcall2s.init))
__initcall3_start = .;
KEEP(*(.initcall3.init))
KEEP(*(.initcall3s.init))
__initcall4_start = .;
KEEP(*(.initcall4.init))
KEEP(*(.initcall4s.init))
__initcall5_start = .;
KEEP(*(.initcall5.init))
KEEP(*(.initcall5s.init))
__initcallrootfs_start = .;
KEEP(*(.initcallrootfs.init))
KEEP(*(.initcallrootfss.init))
__initcall6_start = .;
KEEP(*(.initcall6.init))
KEEP(*(.initcall6s.init))
__initcall7_start = .;
KEEP(*(.initcall7.init))
KEEP(*(.initcall7s.init))
__initcall_end = .;
__con_initcall_start = .;
KEEP(*(.con_initcall.init))
__con_initcall_end = .;
. = ALIGN(8);
} > DRAM_SEG_KRN :rodata =0x9002
.note.gnu.build-id ADDR(.dram_seg.initcall) + SIZEOF(.dram_seg.initcall) : AT(LOADADDR(.dram_seg.initcall) + SIZEOF(.dram_seg.initcall))
{
. = ALIGN(8);
*(.note.gnu.build-id)
. = ALIGN(8);
} > DRAM_SEG_KRN :rodata =0x9002
.dram_seg.ctors ADDR(.note.gnu.build-id) + SIZEOF(.note.gnu.build-id) : AT(LOADADDR(.note.gnu.build-id) + SIZEOF(.note.gnu.build-id))
{
. = ALIGN(8);
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(SORT(.ctors)))
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
PROVIDE(__ctors_end__ = .);
. = ALIGN(0x8);
} > DRAM_SEG_KRN :rodata =0x9002
.dram_seg.dtors ADDR(.dram_seg.ctors) + SIZEOF(.dram_seg.ctors) : AT(LOADADDR(.dram_seg.ctors) + SIZEOF(.dram_seg.ctors))
{
. = ALIGN(8);
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(SORT(.dtors)))
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array))
PROVIDE(__dtors_end__ = .);
. = ALIGN(0x8);
} > DRAM_SEG_KRN :rodata =0x9002
PROVIDE(__readonly_area_end = .);
.dram_seg.data ADDR(.dram_seg.dtors) + SIZEOF(.dram_seg.dtors) : AT(LOADADDR(.dram_seg.dtors) + SIZEOF(.dram_seg.dtors))
{
. = ALIGN(8);
KEEP(*(*.vectors*))
*(.data)
*(.data.*)
*(.readmostly.data)
*(.data1)
*(.data1.*)
/*Best in the middle of data/sdata area.*/
PROVIDE( __global_pointer$ = . + 0x400);
__tdata_start = .;
*(.tdata)
*(.tdata.*)
*(.gnu.linkonce.td.*)
__tdata_end = .;
*(.gnu.linkonce.d.*)
*(.sdata)
*(.sdata.*)
*(.sdata*)
*(.gnu.linkonce.s.*)
*(.sdata2)
*(.sdata2.*)
*(.gnu.linkonce.s2.*)
*(.got.plt)
*(.got)
. = ALIGN(8);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(8);
. = ALIGN(8);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(8);
} > DRAM_SEG_KRN :data =0x9002
.resource_table ADDR(.dram_seg.data) + SIZEOF(.dram_seg.data) : AT(LOADADDR(.dram_seg.data) + SIZEOF(.dram_seg.data))
{
KEEP(*(.resource_table))
} > DRAM_SEG_KRN :data
.share_irq_table ADDR(.resource_table) + SIZEOF(.resource_table) : AT(LOADADDR(.resource_table) + SIZEOF(.resource_table))
{
KEEP(*(.share_irq_table))
} > DRAM_SEG_KRN :data
/* stack for bringup process */
.dram_seg.stack ADDR(.share_irq_table) + SIZEOF(.share_irq_table) : AT(LOADADDR(.share_irq_table) + SIZEOF(.share_irq_table))
{
. = ALIGN(8);
__init_process_stack_start__ = .;
. += __STACKSIZE__;
__init_process_stack_end__ = .;
. = ALIGN(8);
} > DRAM_SEG_KRN :data
.dram_seg.bss ADDR(.dram_seg.stack) + SIZEOF(.dram_seg.stack) + SIZEOF(.dram_seg.stack) (NOLOAD) :
{
. = ALIGN(8);
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(.sbss)
*(.sbss.*)
*(.sbss*)
*(.gnu.linkonce.sb.*)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.scommon)
*(.dynbss)
*(COMMON)
. = ALIGN(8);
__tbss_start = .;
*(.tbss)
*(.tbss.*)
*(.gnu.linkonce.tb.*)
. = ALIGN(8);
__tbss_end = .;
} > DRAM_SEG_KRN :data
PROVIDE(__bss_start = ADDR(.dram_seg.bss));
PROVIDE(__bss_end = ABSOLUTE(.));
PROVIDE(_end = ABSOLUTE(.));
PROVIDE(_firmware_end = .);
.note 0 : { *(.note) } :note
.stab 0 : { *(.stab) } :note
.stabstr 0 : { *(.stabstr) } :note
.stab.excl 0 : { *(.stab.excl) } :note
.stab.exclstr 0 : { *(.stab.exclstr) } :note
.stab.index 0 : { *(.stab.index) } :note
.stab.indexstr 0 : { *(.stab.indexstr) } :note
.reginfo 0 : { *(.reginfo) } :note
.comment 0 : { *(.comment) } :note
.mdebug 0 : { *(.mdebug) } :note
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
.riscv.attributes 0 : { KEEP (*(.riscv.attributes)) KEEP (*(.gnu.attributes)) }
/DISCARD/ : { *(.note.GNU-stack) }
}

View File

@ -0,0 +1,5 @@
obj-y += main.o
ifeq ($(CONFIG_FF_TRACE),y)
subdir-ccflags-y += -finstrument-functions
endif

View File

@ -0,0 +1,45 @@
#include <stdio.h>
#include <hal_timer.h>
#include <openamp/sunxi_helper/openamp.h>
extern int csi_init(int argc, const char **argv);
extern int msh_exec(char *cmd, int length);
int app_entry(void *param)
{
#ifdef CONFIG_DRIVERS_VIN
int ret;
ret = csi_init(0, NULL);
if (ret) {
rpmsg_notify("rt-media", NULL, 0);
printf("csi init fail!\n");
}
#if 1
rpmsg_notify("twi0", NULL, 0);
rpmsg_notify("twi1", NULL, 0);
rpmsg_notify("tdm0", NULL, 0);
rpmsg_notify("isp0", NULL, 0);
rpmsg_notify("isp1", NULL, 0);
rpmsg_notify("scaler0", NULL, 0);
rpmsg_notify("scaler1", NULL, 0);
rpmsg_notify("scaler4", NULL, 0);
rpmsg_notify("scaler5", NULL, 0);
rpmsg_notify("scaler8", NULL, 0);
rpmsg_notify("scaler9", NULL, 0);
rpmsg_notify("scaler12", NULL, 0);
rpmsg_notify("vinc0", NULL, 0);
rpmsg_notify("vinc1", NULL, 0);
rpmsg_notify("vinc4", NULL, 0);
rpmsg_notify("vinc5", NULL, 0);
rpmsg_notify("vinc8", NULL, 0);
rpmsg_notify("vinc9", NULL, 0);
rpmsg_notify("vinc12", NULL, 0);
#endif
#else
hal_msleep(200);
rpmsg_notify("rt-media", NULL, 0);
#endif
//msh_exec("dmesg", strlen("dmesg"));
return 0;
}

View File

@ -0,0 +1,10 @@
# define the verions of the image
# format: main
# such as 1, 2
# NOTICE: the range of main version is from 0 to 31,
# ROOT_ROLLBACK_USE ---0:not used,1:used
# when you change the version, you must increase main version, and never reduce the versions.
# the default version is 0
ROOT_ROLLBACK_USED = 1
MAIN_VERSION = 0

View File

@ -40,7 +40,7 @@
#define SENSOR_NAME_2 "ov02b1b_mipi"
#define SENSOR_1600x1200_30FPS 1
#define SENSOR_1280x720_30FPS 1
#define SENSOR_1280x720_30FPS 0
#define SENSOR_1280x720_15FPS 0
#define SENSOR_800x600_15FPS 0
#define SENSOR_640x480_15FPS 0
@ -193,6 +193,7 @@ static struct regval_list sensor_1600x1200_30fps_regs[] = {
{0xfd, 0x01},
{0x0e, 0x02},
{0x0f, 0x1a},
{0x12, 0x01}, //mirror and flip
{0x18, 0x00},
{0x22, 0xff},
{0x23, 0x02},
@ -711,10 +712,9 @@ static int sensor_s_exp_gain(int id, struct sensor_exp_gain *exp_gain)
/*
* Stuff that knows about the sensor.
*/
static int pwdn_flag = 0;
static int sensor_power(int id, int on)
{
sensor_dbg("sensor_power \n");
if (on && (sensor_power_count[id])++ > 0)
return 0;
else if (!on && (sensor_power_count[id] == 0 || --(sensor_power_count[id]) > 0))
@ -723,23 +723,19 @@ static int sensor_power(int id, int on)
switch (on) {
case PWR_ON:
sensor_dbg("PWR_ON!\n");
#if 1
//if((id==0 && sensor_power_count[1]==0) || (id==1 && sensor_power_count[0]==0)) {
hal_gpio_set_direction(GPIOD(2), GPIO_DIRECTION_OUTPUT);
hal_gpio_set_data(GPIOD(2), GPIO_DATA_HIGH);
hal_gpio_set_direction(GPIOF(3), GPIO_DIRECTION_OUTPUT);
hal_gpio_set_data(GPIOF(3), GPIO_DATA_HIGH);
hal_gpio_set_direction(GPIOF(4), GPIO_DIRECTION_OUTPUT);
hal_gpio_set_data(GPIOF(4), GPIO_DATA_HIGH);
// hal_gpio_set_direction(GPIOH(0), GPIO_DIRECTION_OUTPUT);
// hal_gpio_set_data(GPIOH(0), GPIO_DATA_LOW);
//}
#endif
if (pwdn_flag == 0)
{
pwdn_flag = 1;
vin_gpio_set_status(id, PWDN, 1);
}
vin_gpio_set_status(id, PWDN, 1);
// vin_gpio_set_status(id, PWDN, 1);
vin_gpio_set_status(id, RESET, 1);
vin_gpio_write(id, PWDN, CSI_GPIO_LOW);
vin_gpio_set_status(id, IR_LED, 1);
// vin_gpio_write(id, PWDN, CSI_GPIO_LOW);
vin_gpio_write(id, RESET, CSI_GPIO_LOW);
vin_gpio_write(id, IR_LED, CSI_GPIO_HIGH);
hal_usleep(5000);
vin_set_mclk_freq(id, MCLK);
@ -757,13 +753,7 @@ static int sensor_power(int id, int on)
vin_gpio_write(id, RESET, CSI_GPIO_LOW);
vin_set_mclk(id, 0);
vin_gpio_write(id, PWDN, CSI_GPIO_LOW);
//if(sensor_power_count[0]==0 && sensor_power_count[1]==0) {
// hal_gpio_set_data(GPIOD(2), GPIO_DATA_LOW);
// hal_gpio_set_data(GPIOF(3), GPIO_DATA_LOW);
// hal_gpio_set_data(GPIOF(4), GPIO_DATA_LOW);
//}
// vin_gpio_write(id, PWDN, CSI_GPIO_LOW);
break;
default:
@ -774,6 +764,7 @@ static int sensor_power(int id, int on)
static int sensor_set_ir(int id, int status)
{
#if 0
vin_gpio_set_status(id, IR_LED, 1);
switch (status) {
case IR_DAY:
@ -785,6 +776,7 @@ static int sensor_set_ir(int id, int status)
default:
return -1;
}
#endif
return 0;
}
@ -829,7 +821,8 @@ static struct sensor_format_struct sensor_formats[] = {
#if SENSOR_1600x1200_30FPS
/* 1600x1200 30fps */
{
.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
//.mbus_code = MEDIA_BUS_FMT_SRGGB10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
.mbus_code = MEDIA_BUS_FMT_SGRBG10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,//MEDIA_BUS_FMT_SBGGR10_1X10,
.width = 1600,
.height = 1200,
.hoffset = 0,
@ -936,7 +929,6 @@ static struct sensor_format_struct *sensor_get_format(int id, int isp_id)
int fps = isp_get_cfg[ispid].sensor_get_fps;
int i;
sensor_print("%s(), %d, id:%d, ispid:%d\n", __func__, __LINE__, id, ispid);
if (current_win[id])
return current_win[id];
@ -949,11 +941,10 @@ static struct sensor_format_struct *sensor_get_format(int id, int isp_id)
}
}
}
sensor_print("%s(), %d, id:%d, ispid:%d\n", __func__, __LINE__, id, ispid);
if (sensor_format == NULL) {
for (i = 0; i < ARRAY_SIZE(sensor_formats); i++) {
sensor_print("%s(), %d, ispid:%d, width:%d\n", __func__, __LINE__, ispid, sensor_formats[i].width);
if (sensor_formats[i].wdr_mode == wdr_on && ((ispid == 0 && sensor_formats[i].width == 1280) || (ispid == 1 && sensor_formats[i].width == 1600))) {
if (sensor_formats[i].wdr_mode == wdr_on) {
sensor_format = &sensor_formats[i];
isp_get_cfg[ispid].sensor_get_fps = sensor_format->fps_fixed;
sensor_print("fine wdr is %d, use fps is %d\n", wdr_on, sensor_format->fps_fixed);
@ -961,14 +952,14 @@ static struct sensor_format_struct *sensor_get_format(int id, int isp_id)
}
}
}
sensor_print("%s(), %d, id:%d, ispid:%d\n", __func__, __LINE__, id, ispid);
if (sensor_format == NULL) {
sensor_format = &sensor_formats[0];
isp_get_cfg[ispid].sensor_wdr_on = sensor_format->wdr_mode;
isp_get_cfg[ispid].sensor_get_fps = sensor_format->fps_fixed;
sensor_print("use wdr is %d, use fps is %d\n", sensor_format->wdr_mode, sensor_format->fps_fixed);
}
sensor_print("%s(), %d, id:%d, ispid:%d\n", __func__, __LINE__, id, ispid);
done:
current_win[id] = sensor_format;
return sensor_format;
@ -1050,7 +1041,6 @@ static struct sensor_format_struct *sensor_get_switch_format(int id, int isp_id)
}
done:
sensor_wdr_mode[id] = sensor_format->wdr_mode;
current_switch_win[id] = sensor_format;
return sensor_format;
#else

View File

@ -60,6 +60,7 @@ struct sensor_cfg_array sensor_array[] = {
#endif
#ifdef CONFIG_SENSOR_OV02B10_MIPI
{"ov02b10_mipi", &ov02b10_core},
{"ov02b1b_mipi", &ov02b10_core},
#endif
};

View File

@ -54,7 +54,7 @@ unsigned int vin_vipp_irq[VIN_MAX_SCALER/DEV_VIRT_NUM] = {
struct vin_clk_info vind_default_clk[VIN_MAX_CLK] = {
[VIN_TOP_CLK] = {
.clock = HAL_CLK_PERIPH_CSI_TOP,
.frequency = 300000000,
.frequency = 340000000,
},
[VIN_TOP_CLK_SRC] = {
.clock = HAL_CLK_PLL_CSIX4,
@ -418,7 +418,7 @@ struct vin_mclk_info vind_default_mclk[VIN_MAX_CCI] = {
struct sensor_list global_sensors[VIN_MAX_CSI] = {
/*mipi0 parser0*/
[0] = {
#ifdef CONFIG_SENSOR_BF2257CS_MIPI
#if defined(CONFIG_SENSOR_BF2257CS_MIPI)
.used = 1,
.sensor_name = "bf2257cs_mipi",
.sensor_twi_addr = 0x7C,
@ -433,6 +433,21 @@ struct sensor_list global_sensors[VIN_MAX_CSI] = {
.ir_cut_gpio[0] = 0xffff,/*-cut*/
.ir_cut_gpio[1] = 0xffff,/*+cut*/
.ir_led_gpio = 0xffff,
#elif defined(CONFIG_SENSOR_OV02B10_MIPI)
.used = 1,
.sensor_name = "ov02b10_mipi",
.sensor_twi_addr = 0x78,
.sensor_twi_id = 1,
.mclk_id = 0,
.use_isp = 1,
.id = 0,
.addr_width = 8,
.data_width = 8,
.reset_gpio = GPIOE(7),
.pwdn_gpio = GPIOE(8),
.ir_cut_gpio[0] = 0xffff,/*-cut*/
.ir_cut_gpio[1] = 0xffff,/*+cut*/
.ir_led_gpio = GPIOF(3),
#else
.used = 1,
.sensor_name = "gc2053_mipi",
@ -452,7 +467,7 @@ struct sensor_list global_sensors[VIN_MAX_CSI] = {
},
/*mipi1 parser1*/
[1] = {
#ifdef CONFIG_SENSOR_BF2257CS_MIPI
#if defined(CONFIG_SENSOR_BF2257CS_MIPI)
.used = 1,
.sensor_name = "bf2257cs_mipi_2",
.sensor_twi_addr = 0xdc,
@ -467,6 +482,21 @@ struct sensor_list global_sensors[VIN_MAX_CSI] = {
.ir_cut_gpio[0] = 0xffff,/*-cut*/
.ir_cut_gpio[1] = 0xffff,/*+cut*/
.ir_led_gpio = 0xffff,
#elif defined(CONFIG_SENSOR_OV02B10_MIPI)
.used = 1,
.sensor_name = "ov02b1b_mipi",
.sensor_twi_addr = 0x78,
.sensor_twi_id = 0,
.mclk_id = 1,
.use_isp = 1,
.id = 1,
.addr_width = 8,
.data_width = 8,
.reset_gpio = GPIOE(9),
.pwdn_gpio = GPIOE(10),
.ir_cut_gpio[0] = 0xffff,/*-cut*/
.ir_cut_gpio[1] = 0xffff,/*+cut*/
.ir_led_gpio = 0xffff,
#else
.used = 1,
.sensor_name = "gc2053_mipi",

View File

@ -102,8 +102,8 @@
#endif // CONFIG_SENSOR_F355P_MIPI
#ifdef CONFIG_SENSOR_OV02B10_MIPI
#include "SENSOR_H/ov02b10_mipi_isp600_20221114b_color.h"
#include "SENSOR_H/ov02b10_mipi_isp600_20230811_104819_ir_v3.h"
#include "SENSOR_H/ov02b10_mipi_isp600_20240423_135454_rgb.h"
#include "SENSOR_H/ov02b10_mipi_isp600_20240423_133842_ir.h"
#endif // CONFIG_SENSOR_OV02B10_MIPI
#else
@ -172,8 +172,10 @@ struct isp_cfg_array cfg_arr[] = {
#endif // CONFIG_SENSOR_F355P_MIPI
#ifdef CONFIG_SENSOR_OV02B10_MIPI
{"ov02b10_mipi", "ov02b10_mipi_isp600_20221114b_color", 1600, 1200, 30, 0, 0, &ov02b10_mipi_isp_cfg},
{"ov02b10_mipi", "ov02b10_mipi_isp600_20230811_104819_ir_v3", 1600, 1200, 30, 1, 0, &ov02b10_mipi_isp_ir_cfg},
{"ov02b1b_mipi", "ov02b10_mipi_isp600_20240423_135454_rgb", 1600, 1200, 30, 0, 0, &ov02b10_mipi_isp_cfg},
{"ov02b1b_mipi", "ov02b10_mipi_isp600_20240423_135454_rgb", 1600, 1200, 30, 1, 0, &ov02b10_mipi_isp_cfg},
{"ov02b10_mipi", "ov02b10_mipi_isp600_20240423_133842_ir", 1600, 1200, 30, 0, 0, &ov02b10_mipi_isp_ir_cfg},
{"ov02b10_mipi", "ov02b10_mipi_isp600_20240423_133842_ir", 1600, 1200, 30, 1, 0, &ov02b10_mipi_isp_ir_cfg},
#endif // CONFIG_SENSOR_OV02B10_MIPI
#ifdef CONFIG_SENSOR_GC1084_MIPI
@ -198,10 +200,10 @@ int parser_ini_info(struct isp_param_config *param, char *isp_cfg_name, char *se
{
int i;
struct isp_cfg_pt *cfg = NULL;
ISP_WARN("%s(), L:%d, sensor_name:%s\n", __func__, __LINE__, sensor_name);
//load header parameter
for (i = 0; i < ARRAY_SIZE(cfg_arr); i++) {
if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 6) &&
if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 8) &&
(w == cfg_arr[i].width) && (h == cfg_arr[i].height) &&
(fps == cfg_arr[i].fps) && (wdr == cfg_arr[i].wdr) &&
(ir == cfg_arr[i].ir)) {
@ -214,7 +216,7 @@ int parser_ini_info(struct isp_param_config *param, char *isp_cfg_name, char *se
if (i == ARRAY_SIZE(cfg_arr)) {
for (i = 0; i < ARRAY_SIZE(cfg_arr); i++) {
if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 6) && (wdr == cfg_arr[i].wdr)) {
if (!strncmp(sensor_name, cfg_arr[i].sensor_name, 8) && (wdr == cfg_arr[i].wdr)) {
cfg = cfg_arr[i].cfg;
ISP_WARN("cannot find %s_%d_%d_%d_%d_%d isp config, use %s_%d_%d_%d_%d_%d -> [%s]\n", sensor_name, w, h, fps, wdr, ir,
cfg_arr[i].sensor_name, cfg_arr[i].width, cfg_arr[i].height, cfg_arr[i].fps, cfg_arr[i].wdr,
@ -301,9 +303,9 @@ int parser_ini_regs_info(struct isp_lib_context *ctx, char *sensor_name,
{
int i;
struct isp_reg_pt *reg = NULL;
ISP_WARN("%s(), L:%d, sensor_name:%s\n", __func__, __LINE__, sensor_name);
for (i = 0; i < ARRAY_SIZE(reg_arr); i++) {
if (!strncmp(sensor_name, reg_arr[i].sensor_name, 6) &&
if (!strncmp(sensor_name, reg_arr[i].sensor_name, 8) &&
(w == reg_arr[i].width) && (h == reg_arr[i].height) &&// (fps == reg_arr[i].fps) &&
(wdr == reg_arr[i].wdr)) {

View File

@ -0,0 +1,50 @@
#!/bin/sh
#
# udev This is a minimal non-LSB version of a UDEV startup script. It
# was derived by stripping down the udev-058 LSB version for use
# with buildroot on embedded hardware using Linux 2.6.34+ kernels.
#
# You may need to customize this for your system's resource limits
# (including startup time!) and administration. For example, if
# your early userspace has a custom initramfs or initrd you might
# need /dev much earlier; or without hotpluggable busses (like USB,
# PCMCIA, MMC/SD, and so on) your /dev might be static after boot.
#
# This script assumes your system boots right into the eventual root
# filesystem, and that init runs this udev script before any programs
# needing more device nodes than the bare-bones set -- /dev/console,
# /dev/zero, /dev/null -- that's needed to boot and run this script.
#
# Check for missing binaries
UDEV_BIN=/sbin/udevd
test -x $UDEV_BIN || exit 5
# Check for config file and read it
UDEV_CONFIG=/etc/udev/udev.conf
test -r $UDEV_CONFIG || exit 6
. $UDEV_CONFIG
case "$1" in
start)
printf "Populating ${udev_root:-/dev} using udev: "
printf '\000\000\000\000' > /proc/sys/kernel/hotplug
$UDEV_BIN -d || (echo "FAIL" && exit 1)
udevadm trigger --type=subsystems --action=add
udevadm trigger --type=devices --action=add
udevadm settle --timeout=30 || echo "udevadm settle failed"
echo "done"
;;
stop)
# Stop execution of events
udevadm control --stop-exec-queue
killall udevd
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,34 @@
#!/bin/sh
#
# Start wifi_deamon....
#
start() {
printf "Starting wifi_deamon....: "
#wifi_daemon
#sleep 0.2
#wifi -o sta
#wifi -a enable
}
stop() {
printf "Stopping wifi_deamon: "
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -0,0 +1,36 @@
#!/bin/sh
#
# Load fat modules....
#
MODULES_DIR="/lib/modules/`uname -r`"
start() {
printf "Load fat modules\n"
insmod $MODULES_DIR/fat.ko
insmod $MODULES_DIR/vfat.ko
}
stop() {
printf "Unload fat modules\n"
rmmod $MODULES_DIR/fat.ko
rmmod $MODULES_DIR/vfat.ko
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -0,0 +1,38 @@
#!/bin/sh
#
# Load mmc modules....
#
MODULES_DIR="/lib/modules/`uname -r`"
start() {
printf "Load mmc modules\n"
#insmod $MODULES_DIR/mmc_core.ko
#insmod $MODULES_DIR/mmc_block.ko
#insmod $MODULES_DIR/sunxi_mmc_host.ko
}
stop() {
printf "Unload mmc modules\n"
#rmmod $MODULES_DIR/mmc_core.ko
#rmmod $MODULES_DIR/block.ko
#rmmod $MODULES_DIR/sunxi_mmc_host.ko
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -0,0 +1,117 @@
#!/bin/sh
echo "------run rc.final file-----"
#echo "insmod wifi modules"
#insmod /lib/modules/3.4.39/8723ds.ko
#insmod /lib/modules/3.4.39/bcmdhd.ko
#insmod /lib/modules/3.4.39/xradio_mac.ko
#insmod /lib/modules/3.4.39/xradio_core.ko
#insmod /lib/modules/3.4.39/xradio_wlan.ko
export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH}
ulimit -c unlimited
echo /mnt/extsd/coredump-%e-%p-%s-%t > /proc/sys/kernel/core_pattern
for i in /etc/init.d/S??* ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
LOOP_CNT=0
SD_DEV=
while [ 1 ];do
if [ $LOOP_CNT -eq 3 ];then
echo wait SD Card ready timeout
break;
fi
if [ -b /dev/mmcblk1p1 ];then
SD_DEV=/dev/mmcblk1p1
break;
elif [ -b /dev/mmcblk1 ];then
SD_DEV=/dev/mmcblk1
break;
elif [ -b /dev/mmcblk0p1 ];then
SD_DEV=/dev/mmcblk0p1
break;
elif [ -b /dev/mmcblk0 ];then
SD_DEV=/dev/mmcblk0
break;
else
echo SD Card not ready, wait
fi
LOOP_CNT=$(($LOOP_CNT+1))
sleep 1
done
# repair sd card file
if [ "x$SD_DEV" != "x" ]; then
echo SD Card is ready
if [ -f /usr/bin/fsck_msdos ]; then
/usr/bin/fsck_msdos -pfS $SD_DEV
fi
fi
if [ -z "$(grep '\<vfat\>' /proc/mounts)" ]; then
! /bin/mount -t vfat /dev/mmcblk0 /mnt/extsd 2>/dev/null &&
/bin/mount -t vfat /dev/mmcblk0p1 /mnt/extsd
fi
sleep 1
if [ -n "$(grep '/mnt/extsd' /proc/mounts)" ]; then
echo "start mv stream..."
ls /tmp/
rm -rf /mnt/extsd/stream*.h264
rm -rf /mnt/extsd/data*.jpg
mv /tmp/stream*.h264 /mnt/extsd/
mv /tmp/data*.jpg /mnt/extsd/
echo "---/mnt/extsd/---"
ls /mnt/extsd/
fi
echo "run_usb_adb start!"
run_usb_adb
#echo "sample_virvi2vo start!"
#/usr/bin/sample_virvi2vo -path /usr/bin/sample_virvi2vo_v851s_sc1721v_dual.conf &
#catch jpg 0
#demo_video_in -n 40 -s0 800x608 -f0 0 -pf 4 -trd 1 -snd 1 -s1 800x608 -f1 0 -pf1 4 -vn1 1
#catch jpg 1
#demo_video_in -n 40 -s0 800x608 -f0 0 -pf 4 -snd 1 -s1 800x608 -f1 0 -pf1 4 -trd 1 -vn1 1 -vn2 5
#set ir
echo 6 > /sys/class/pwm/pwmchip0/export
echo 50000 > /sys/class/pwm/pwmchip0/pwm6/period
echo 30000 > /sys/class/pwm/pwmchip0/pwm6/duty_cycle
#disable ir
echo 0 > /sys/class/pwm/pwmchip0/pwm6/enable
#enable ir
#echo 1 > /sys/class/pwm/pwmchip0/pwm6/enable
#/usr/bin/rt_media-uvc -D 0 -b 0 -d 2 &
#run_otg
#sleep 2
#/usr/bin/rt_media-uvc -D 0 -d 2 &

View File

@ -0,0 +1,97 @@
#!/bin/sh
echo "------run rc.final file-----"
#echo "insmod wifi modules"
#insmod /lib/modules/3.4.39/8723ds.ko
#insmod /lib/modules/3.4.39/bcmdhd.ko
#insmod /lib/modules/3.4.39/xradio_mac.ko
#insmod /lib/modules/3.4.39/xradio_core.ko
#insmod /lib/modules/3.4.39/xradio_wlan.ko
export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH}
ulimit -c unlimited
echo /mnt/extsd/coredump-%e-%p-%s-%t > /proc/sys/kernel/core_pattern
for i in /etc/init.d/S??* ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
done
#LOOP_CNT=0
#SD_DEV=
#while [ 1 ];do
# if [ $LOOP_CNT -eq 3 ];then
# echo wait SD Card ready timeout
# break;
# fi
# if [ -b /dev/mmcblk1p1 ];then
# SD_DEV=/dev/mmcblk1p1
# break;
# elif [ -b /dev/mmcblk1 ];then
# SD_DEV=/dev/mmcblk1
# break;
# elif [ -b /dev/mmcblk0p1 ];then
# SD_DEV=/dev/mmcblk0p1
# break;
# elif [ -b /dev/mmcblk0 ];then
# SD_DEV=/dev/mmcblk0
# break;
# else
# echo SD Card not ready, wait
# fi
# LOOP_CNT=$(($LOOP_CNT+1))
# sleep 1
#done
#
# repair sd card file
#if [ "x$SD_DEV" != "x" ]; then
# echo SD Card is ready
#
# if [ -f /usr/bin/fsck_msdos ]; then
# /usr/bin/fsck_msdos -pfS $SD_DEV
# fi
#fi
#if [ -z "$(grep '\<vfat\>' /proc/mounts)" ]; then
# ! /bin/mount -t vfat /dev/mmcblk0 /mnt/extsd 2>/dev/null &&
# /bin/mount -t vfat /dev/mmcblk0p1 /mnt/extsd
#fi
#sleep 1
#echo "start mv stream..."
#ls /tmp/
#rm -rf /mnt/extsd/stream*.h264
#rm -rf /mnt/extsd/data*.jpg
#mv /tmp/stream*.h264 /mnt/extsd/
#mv /tmp/data*.jpg /mnt/extsd/
#echo "---/mnt/extsd/---"
#ls /mnt/extsd/
echo 160 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio160/direction
echo 0 > /sys/class/gpio/gpio160/value
echo 0 > /sys/class/pwm/pwmchip0/export
echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/period
echo 350000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
echo 1 > /sys/class/gpio/gpio160/value
run_usb_adb

View File

@ -0,0 +1,43 @@
#!/bin/sh
echo "------run rc.modules file-----"
MODULES_DIR="/lib/modules/`uname -r`"
#disp
#echo "------insmod display modules start-----"
#insmod /lib/modules/4.9.191/fb.ko
#insmod /lib/modules/4.9.191/disp.ko
#wifi
#echo "------insmod wifi modules xr806 start-----"
#insmod /lib/modules/4.9.191/xr806.ko
#insmod /lib/modules/4.9.191/vipcore.ko
#input
#echo "------insmod input modules start-----"
#insmod /lib/modules/4.9.191/input-core.ko
#insmod /lib/modules/4.9.191/evdev.ko
#audio
echo "------insmod audio modules start-----"
insmod $MODULES_DIR/soundcore.ko
insmod $MODULES_DIR/snd.ko
insmod $MODULES_DIR/snd-timer.ko
insmod $MODULES_DIR/snd-pcm.ko
insmod $MODULES_DIR/snd-pcm-dmaengine.ko
insmod $MODULES_DIR/snd-soc-core.ko
insmod $MODULES_DIR/snd_soc_sunxi_pcm.ko
insmod $MODULES_DIR/snd_soc_sunxi_component_rxsync.ko
insmod $MODULES_DIR/snd_soc_sunxi_aaudio.ko
insmod $MODULES_DIR/snd_soc_sunxi_daudio.ko
insmod $MODULES_DIR/snd_soc_sunxi_internal_codec.ko
insmod $MODULES_DIR/snd_soc_sunxi_machine.ko
echo "------insmod audio modules end-----"
insmod $MODULES_DIR/rt-media.ko
insmod $MODULES_DIR/cst9220.ko
#ctp
#echo "------insmod ctp modules gslx680 start-----"
#insmod /lib/modules/4.9.191/gslX680new.ko
#l-sen
#echo "------insmod l-sen modules gpadc start-----"
#insmod /lib/modules/4.9.191/sunxi_gpadc.ko

View File

@ -0,0 +1,4 @@
#!/bin/sh
echo "------run rc.preboot file-----"

View File

@ -0,0 +1,28 @@
#!/bin/sh
# Stop all init scripts in /etc/init.d
# executing them in reversed numerical order.
#
for i in $(ls -r /etc/init.d/S??*) ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set stop
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i stop
;;
esac
done

View File

@ -0,0 +1,3 @@
KERNEL=="mmcblk[0-9]p[0-9]", RUN+="/etc/udev/hotplug-tf.sh %k $env{ACTION}"
ACTION=="add", KERNEL=="mmc0:*", RUN+="/etc/udev/hotplug-tf.sh %k $env{ACTION}"
ACTION=="remove", KERNEL=="mmc0:*", RUN+="/etc/udev/hotplug-tf.sh %k $env{ACTION}"

View File

@ -0,0 +1,3 @@
KERNEL=="sda[0-9]", SUBSYSTEM=="block", SUBSYSTEM=="usb", RUN+="/etc/udev/usb_handle %k $env{ACTION}"
ACTION=="add|change", KERNEL=="sd*", RUN+="/etc/udev/usb_handle %k $env{ACTION}"
ACTION=="remove", KERNEL=="sd*", RUN+="/etc/udev/usb_handle %k $env{ACTION}"

View File

@ -2,11 +2,12 @@
# Values shown are defaults
# The start and end of the IP lease block
start 192.168.10.100
end 192.168.10.254
start 172.168.10.100
end 172.168.10.254
# The interface that udhcpd will use
interface wlan0
#interface wlan0
interface usb0
# The maximum number of leases (includes addresses reserved
# by OFFER's, DECLINE's, and ARP conflicts). Will be corrected
@ -61,10 +62,10 @@ interface wlan0
# as the dns option, they can be listed on the same line, or multiple
# lines.
# Examples:
opt dns 192.168.10.2 192.168.10.10
opt dns 172.168.10.2 172.168.10.10
option subnet 255.255.255.0
opt router 192.168.10.2
opt wins 192.168.10.10
opt router 172.168.10.1
opt wins 172.168.10.1
option dns 129.219.13.81 # appended to above DNS servers for a total of 3
option domain local
option lease 864000 # default: 10 days

View File

@ -495,7 +495,45 @@ check_update_system_state() {
/bin/mount -t tmpfs tmpfs /tmp
/bin/mount -t sysfs sys /sys
# /bin/mount -t devtmpfs none /dev
#demo_video_in -n 40 -s0 1920x1088 -f0 0 -pf 4 -trd 1 -pf2 0
#/bin/mount -t jffs2 /dev/mtdblock3 /home
#/bin/mount -t jffs2 /dev/mtdblock6 /home
# /bin/mount -t jffs2 /dev/mtdblock4 /home
# cur_time=`cat /proc/uptime`
# echo "mount /data partition [${cur_time}]"
# cur_time=`cat /proc/uptime`
#echo "initialization led pwm [${cur_time}]"
#echo 6 > /sys/class/pwm/pwmchip0/export
#echo 50000 > /sys/class/pwm/pwmchip0/pwm6/period
#echo 30000 > /sys/class/pwm/pwmchip0/pwm6/duty_cycle
# echo "initialization led gpio [${cur_time}]"
#echo 134 > /sys/class/gpio/export
#echo out > /sys/class/gpio/gpio134/direction
# cur_time=`cat /proc/uptime`
# echo "enable ir led [${cur_time}]"
#echo 1 > /sys/class/pwm/pwmchip0/pwm6/enable
#echo 0 > /sys/class/gpio/gpio134/value
# cur_time=`cat /proc/uptime`
# echo "start demo_video_in [${cur_time}]"
#demo_video_in -n 40 -s0 800x600 -f0 0 -pf 4 -trd 1 -snd 1 -s1 800x600 -f1 0 -pf1 4 -vn1 1
#demo_video_in -n 40 -s0 800x600 -f0 0 -pf 4 -snd 1 -s1 800x600 -f1 0 -pf1 4 -trd 1 -vn1 1 -vn2 5
# cur_time=`cat /proc/uptime`
# echo "start uvc out [${cur_time}]"
# /bin/setusbconfig uvc
#/bin/setusbconfig uvc
# /usr/bin/setusbconfig uvc
#/usr/bin/rt_media-uvc -D 0 -d 2 -B 10 &
#sleep 2
#/bin/rt_media-uvc -D 1 -d 2 -B 10 &
# sleep 3
fgrep -sq pstore /proc/filesystems && {
/bin/mount -t pstore pstore /sys/fs/pstore
}

View File

@ -1,4 +1,5 @@
#!/bin/sh
: <<'COMMENTBLOCK'
# remove
if [ "${ACTION}" == "remove" ]; then
MOUNTPOINT="$(grep -w "^/dev/${MDEV}" /proc/mounts | awk '{print $2}')"
@ -37,4 +38,5 @@ if [ "${ACTION}" == "add" ]; then
[ ! -b "/dev/${MDEV}" -a -f "/sys/block/${MDEV%p*}/${MDEV}/uevent" ] \
&& echo add > /sys/block/${MDEV%p*}/${MDEV}/uevent
fi
COMMENTBLOCK
exit 0

View File

@ -0,0 +1,68 @@
#!/bin/sh
MODULES_DIR="/lib/modules/`uname -r`"
#insmod $MODULES_DIR/sunxi_usb_udc.ko
#insmod $MODULES_DIR/sunxi_usbc.ko
mount -t configfs none /sys/kernel/config
mkdir /sys/kernel/config/usb_gadget/g1
echo "0x1f3a" > /sys/kernel/config/usb_gadget/g1/idVendor
echo "0x100f" > /sys/kernel/config/usb_gadget/g1/idProduct
mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409
echo "20080411" > /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber
echo "Android" > /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer
mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0
mkdir -p /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p
echo 1280 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/wWidth
echo 720 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/wHeight
echo 333333 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwFrameInterval
echo 333333 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
echo 442368000 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMinBitRate
echo 442368000 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMaxBitRate
echo 1843200 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/fs
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/hs
mkdir /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/fs/
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h/ /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/ss/
mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1
echo 0xc0 > /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes
echo 500 > /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower
mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409
mkdir /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0
ln -s /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/mass_storage.usb0
mkdir /dev/usb-ffs
mkdir /dev/usb-ffs/adb
mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb/
udc=`ls /sys/class/udc`
isudc=0
start(){
while [ 1 ]
do
sleep 1
otg_role=`cat /sys/devices/platform/soc/usbc0/otg_role`
if [ "$otg_role" = "usb_device" ]
then
if [ $isudc == 0 ]
then
echo $udc > /sys/kernel/config/usb_gadget/g1/UDC
isudc=1
fi
else
isudc=0
fi
done
}
start &
echo > /sys/kernel/config/usb_gadget/g1/UDC
echo 0x100d > /sys/kernel/config/usb_gadget/g1/idProduct
rm /sys/kernel/config/usb_gadget/g1/configs/c.1/mass_storage.usb0
rm /sys/kernel/config/usb_gadget/g1/configs/c.1/uvc.usb0
ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/uvc.usb0
ls /sys/class/udc | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC

View File

@ -3,6 +3,7 @@
MODULES_DIR="/lib/modules/`uname -r`"
insmod $MODULES_DIR/configfs.ko
insmod $MODULES_DIR/videobuf2-vmalloc.ko
insmod $MODULES_DIR/usb-common.ko
insmod $MODULES_DIR/usbcore.ko
insmod $MODULES_DIR/sunxi_hci.ko
@ -14,6 +15,7 @@ insmod $MODULES_DIR/sunxi_usb_udc.ko
insmod $MODULES_DIR/usb_f_fs.ko
insmod $MODULES_DIR/usb_f_mass_storage.ko
insmod $MODULES_DIR/usb_f_hid.ko
insmod $MODULES_DIR/usb_f_uvc.ko
insmod $MODULES_DIR/sunxi_usbc.ko
if [ -f /lib/modules/4.9.191/videobuf2-vmalloc.ko ];then

View File

@ -1,15 +0,0 @@
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
pcm_file_path = "/mnt/SDCARD/sample_ai_pcm.wav"
pcm_sample_rate = 44100
mic_num = 1 #1 or 2
pcm_channel_cnt = 2
pcm_bit_width = 16
pcm_frame_size = 1024
pcm_cap_duration = 30
pcm_ai_gain = 100
ans_en = 0
ans_mode = 3
agc_en = 0
agc_target_db = 0
agc_max_gain_db = 30

View File

@ -1,10 +0,0 @@
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
pcm_file_path = "/usr/share/startup.wav"
pcm_sample_rate = 44100
pcm_channel_cnt = 2
pcm_bit_width = 16
pcm_frame_size = 1024
ao_volume = 80
log_level = 0
ao_softvolume = 0 #[0,100]

View File

@ -1,10 +0,0 @@
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
pcm_file_path = "/mnt/SDCARD/sample_ai_pcm.wav"
pcm_sample_rate = 44100
pcm_channel_cnt = 2
pcm_bit_width = 16
pcm_frame_size = 1024
ao_volume = 80
log_level = 0
ao_softvolume = 0 #[0,100]

View File

@ -0,0 +1,73 @@
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
main_isp = 1
main_vipp = 1
main_src_width = 800
main_src_height = 600
main_pixel_format = "aw_lbc_2_0x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
main_wdr_enable = 0
main_vi_buf_num = 3
main_src_frame_rate = 30 #fps
main_viChn = 1 #-1:disale main stream
main_venc_chn = 4 #-1:disale main stream
main_encode_type = "H.265"
main_encode_width = 800 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
main_encode_height = 600
main_encode_frame_rate = 30 #fps
main_encode_bitrate = 1572864 #5M:5242880, 2M:2097152, 1.5M:1572864, 1M:1048576
main_file_path = #"/mnt/extsd/mainStream.raw" #if no path is specified, it will not be saved.
main_online_en = 0
main_online_share_buf_num = 2
main_encpp_enable = 1
sub_isp = 1
sub_vipp = 5
sub_src_width = 640
sub_src_height = 360
sub_pixel_format = "aw_lbc_2_0x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
sub_wdr_enable = 0
sub_vi_buf_num = 3
sub_src_frame_rate = 20 #fps
sub_vipp_crop_en = 1
sub_vipp_crop_rect_x = 0
sub_vipp_crop_rect_y = 0
sub_vipp_crop_rect_w = 1888
sub_vipp_crop_rect_h = 1072
sub_viChn = -1 #-1:disale sub stream
sub_venc_chn = -1 #-1:disale sub stream
sub_encode_type = "H.264"
sub_encode_width = 640 #1280x720->720p, 1920x1080->1080p, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
sub_encode_height = 360
sub_encode_frame_rate = 20 #fps
sub_encode_bitrate = 256000 #5M:5242880, 2M:2097152, 1M:1048576, 0.5M:512000
sub_file_path = #"/mnt/extsd/subStream.raw" #if no path is specified, it will not be saved.
sub_encpp_enable = 1
sub_lapse_viChn = -1 #-1:disale sub lapse stream
sub_lapse_venc_chn = -1 #-1:disale sub lapse stream
sub_lapse_encode_type = "H.264"
sub_lapse_encode_width = 640 #1280x720->720p, 1920x1080->1080p, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
sub_lapse_encode_height = 360
sub_lapse_encode_frame_rate = 20 #fps
sub_lapse_encode_bitrate = 256000 #5M:5242880, 2M:2097152, 1M:1048576, 0.5M:512000
sub_lapse_file_path = #"/mnt/extsd/subLapseStream.raw" #if no path is specified, it will not be saved.
sub_lapse_time = 1000000 #unit:us
sub_lapse_encpp_enable = 1
isp_ve_linkage_enable = 1
isp_ve_linkage_stream_channel = 0 #0:main stream, 1:sub stream, 2:sub lapse stream
wb_yuv_enable = 0
wb_yuv_buf_num = 20
wb_yuv_start_index = 0
wb_yuv_total_cnt = 100
wb_yuv_stream_channel = 0 #0:main stream, 1:sub stream, 2:sub lapse stream
wb_yuv_file_path = "/mnt/extsd/wb_yuv.yuv"
rtsp_net_type = 4 #RTSP Network type, 0: "lo", 1: "eth0", 2: "br0", 3: "wlan0" 4: "usb0"
test_duration = 0 #unit:s, 0:Infinite duration.

View File

@ -2,19 +2,19 @@
[parameter]
main_isp = 0
main_vipp = 4
main_src_width = 1280
main_src_height = 720
main_vipp = 0
main_src_width = 800
main_src_height = 600
main_pixel_format = "aw_lbc_2_0x" #nv21,nv12,yu12,yv12;aw_lbc_2_5x,aw_lbc_2_0x,aw_lbc_1_5x,aw_lbc_1_0x
main_wdr_enable = 0
main_vi_buf_num = 3
main_src_frame_rate = 20 #fps
main_src_frame_rate = 30 #fps
main_viChn = 0 #-1:disale main stream
main_venc_chn = 0 #-1:disale main stream
main_encode_type = "H.265"
main_encode_width = 1280 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
main_encode_height = 720
main_encode_frame_rate = 20 #fps
main_encode_width = 800 #1280x720->720p, 1920x1080->1080p, 2304x1296->3M, 2560×1440->2k, 3840x2160->4k, 7680x4320->8k
main_encode_height = 600
main_encode_frame_rate = 30 #fps
main_encode_bitrate = 1572864 #5M:5242880, 2M:2097152, 1.5M:1572864, 1M:1048576
main_file_path = #"/mnt/extsd/mainStream.raw" #if no path is specified, it will not be saved.
main_online_en = 0
@ -67,7 +67,7 @@ wb_yuv_total_cnt = 100
wb_yuv_stream_channel = 0 #0:main stream, 1:sub stream, 2:sub lapse stream
wb_yuv_file_path = "/mnt/extsd/wb_yuv.yuv"
rtsp_net_type = 3 #RTSP Network type, 0: "lo", 1: "eth0", 2: "br0", 3: "wlan0"
rtsp_net_type = 4 #RTSP Network type, 0: "lo", 1: "eth0", 2: "br0", 3: "wlan0" 4: "usb0"
test_duration = 0 #unit:s, 0:Infinite duration.

View File

@ -1,44 +0,0 @@
########### paramter (ref to tulip_cedarx.conf)############
[parameter]
capture_width = 1920
capture_height = 1080
display_x = 0
display_y = 0
display_width = 1280
display_height = 800
layer_num = 0
isp_dev = 0
vipp_dev = 0
capture_width2 = 0
capture_height2 = 640
display_x2 = 0
display_y2 = 0
display_width2 = 0
display_height2 = 640
layer_num2 = 4
isp_dev2 = 0
vipp_dev2 = 4
capture_width3 = 0
capture_height3 = 360
display_x3 = 240
display_y3 = 320
display_width3 = 0
display_height3 = 320
layer_num3 = 5
isp_dev3 = 0
vipp_dev3 = 0
add_ui_layer = 0
ui_test_layer = 9
ui_display_width = 480
ui_display_height = 640
# disp_type is lcd, hdmi, cvbs
disp_type = "lcd"
# pic_format is yu12, yv12, nv21, nv12, nv21s
pic_format = nv21
frame_rate = 20
test_duration = 0 #unit:s

View File

@ -10,6 +10,7 @@ usage() {
echo " adb, support adb function"
echo " uvc, support uvc function"
echo " uvc,uac1 support uvc and uac1 function"
echo " rndis support rndis function"
echo "example:"
echo "$name uvc"
echo ""
@ -242,6 +243,22 @@ set_usb_function() {
enable_adb
echo "Tina ADB&UAC1" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product
elif [ $1 == "rndis" ]; then
mkdir /sys/kernel/config/usb_gadget/g1/functions/rndis.usb0
echo "Tina RNDIS" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product
ln -s /sys/kernel/config/usb_gadget/g1/functions/rndis.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/rndis.usb0
ls /sys/class/udc/ | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC
elif [ $1 == "adb,rndis" ]; then
[ -d /sys/kernel/config/usb_gadget/g1/functions/rndis.usb0] || {
mkdir /sys/kernel/config/usb_gadget/g1/functions/rndis.usb0
}
ln -s /sys/kernel/config/usb_gadget/g1/functions/rndis.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/rndis.usb0
ls /sys/class/udc/ | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC
enable_adb
echo 0xef > /sys/kernel/config/usb_gadget/g1/bDeviceClass
echo 0x02 > /sys/kernel/config/usb_gadget/g1/bDeviceSubClass
echo 0x01 > /sys/kernel/config/usb_gadget/g1/bDeviceProtocol
echo "Tina ADB,RNDIS" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product
fi
echo $udc_controller > /sys/kernel/config/usb_gadget/g1/UDC
@ -308,3 +325,21 @@ if [ $1 == "adb,uac1" -o $1 == "uac1,adb" ]; then
fi
return
fi
if [ $1 == "rndis" ]; then
# MODULES_DIR="/lib/modules/`uname -r`"
# insmod $MODULES_DIR/sunxi_usb_udc.ko
if [ $# == 3 ]; then
set_usb_function rndis $2 $3
else
set_usb_function rndis 0x0525 0xa4a2
fi
fi
if [ $1 == "adb,rndis" ]; then
# MODULES_DIR="/lib/modules/`uname -r`"
# insmod $MODULES_DIR/sunxi_usb_udc.ko
if [ $# == 3 ]; then
set_usb_function adb,rndis $2 $3
else
set_usb_function adb,rndis 0x0525 0xa4a2
fi
fi

View File

@ -156,7 +156,7 @@ CONFIG_KERNEL_DEBUG_FS=y
# CONFIG_KERNEL_DEBUG_INFO is not set
# CONFIG_KERNEL_DEBUG_LL_UART_NONE is not set
# CONFIG_KERNEL_DEBUG_LL is not set
CONFIG_KERNEL_DYNAMIC_DEBUG=y
# CONFIG_KERNEL_DYNAMIC_DEBUG is not set
# CONFIG_KERNEL_EARLY_PRINTK is not set
# CONFIG_KERNEL_KPROBES is not set
# CONFIG_KERNEL_AIO is not set
@ -2245,7 +2245,9 @@ CONFIG_mpp_external_lz4=y
# CONFIG_mpp_external_uvoice is not set
# CONFIG_mpp_external_jsoncpp is not set
# CONFIG_mpp_external_sound_controler is not set
# CONFIG_PACKAGE_eyesee-mpp-framework is not set
CONFIG_PACKAGE_eyesee-mpp-framework=y
# CONFIG_mpp_framework_videoresizer is not set
# CONFIG_mpp_framework_sample is not set
CONFIG_PACKAGE_eyesee-mpp-middleware=y
CONFIG_mpp_support_fastboot=y
CONFIG_select_sensor=y
@ -2253,10 +2255,9 @@ CONFIG_select_sensor=y
# CONFIG_imx386 is not set
# CONFIG_gc4663 is not set
# CONFIG_gc1084 is not set
CONFIG_gc2053=y
# CONFIG_gc2053_8bit is not set
# CONFIG_gc2053 is not set
# CONFIG_gc0406 is not set
# CONFIG_gc2083 is not set
CONFIG_gc2083=y
# CONFIG_f37p is not set
# CONFIG_f355p is not set
# CONFIG_mis2008 is not set
@ -2322,14 +2323,63 @@ CONFIG_mpp_ans=y
CONFIG_mpp_ans_libwebrtc=y
# CONFIG_mpp_ans_liblstm is not set
# CONFIG_mpp_ans_libnosc is not set
# CONFIG_mpp_uvc is not set
CONFIG_mpp_uvc=y
CONFIG_mpp_iommu=y
CONFIG_mpp_compile_static_lib=y
# CONFIG_mpp_compile_dynamic_lib is not set
# CONFIG_mpp_systrace is not set
CONFIG_mpp_filerepair=y
# CONFIG_mpp_sample_configfileparser is not set
# CONFIG_mpp_sample is not set
CONFIG_mpp_sample_configfileparser=y
CONFIG_mpp_sample=y
# CONFIG_mpp_sample_aec is not set
# CONFIG_mpp_sample_aenc is not set
# CONFIG_mpp_sample_ai is not set
# CONFIG_mpp_sample_ai2aenc is not set
# CONFIG_mpp_sample_ai2aenc2muxer is not set
# CONFIG_mpp_sample_ao is not set
# CONFIG_mpp_sample_aoSync is not set
# CONFIG_mpp_sample_CodecParallel is not set
# CONFIG_mpp_sample_demux is not set
# CONFIG_mpp_sample_demux2adec is not set
# CONFIG_mpp_sample_demux2adec2ao is not set
# CONFIG_mpp_sample_demux2vdec is not set
# CONFIG_mpp_sample_demux2vdec_saveFrame is not set
# CONFIG_mpp_sample_demux2vdec2vo is not set
# CONFIG_mpp_sample_driverVipp is not set
# CONFIG_mpp_sample_file_repair is not set
# CONFIG_mpp_sample_g2d is not set
# CONFIG_mpp_sample_glog is not set
# CONFIG_mpp_sample_MotionDetect is not set
# CONFIG_mpp_sample_multi_vi2venc2muxer is not set
# CONFIG_mpp_sample_muxer_multi_stream is not set
# CONFIG_mpp_sample_facekit_demo is not set
# CONFIG_mpp_sample_OnlineVenc is not set
# CONFIG_mpp_sample_PersonDetect is not set
# CONFIG_mpp_sample_recorder is not set
# CONFIG_mpp_sample_region is not set
# CONFIG_mpp_sample_RegionDetect is not set
# CONFIG_mpp_sample_rtsp is not set
# CONFIG_mpp_sample_smartIPC_demo is not set
# CONFIG_mpp_sample_select is not set
# CONFIG_mpp_sample_takePicture is not set
# CONFIG_mpp_sample_timelapse is not set
# CONFIG_mpp_sample_UILayer is not set
# CONFIG_mpp_sample_uvcin is not set
CONFIG_mpp_sample_uvcout=y
# CONFIG_mpp_sample_uac is not set
# CONFIG_mpp_sample_vdec is not set
# CONFIG_mpp_sample_venc is not set
# CONFIG_mpp_sample_vencGdcZoom is not set
# CONFIG_mpp_sample_EncppGdcOffline is not set
# CONFIG_mpp_sample_virvi is not set
# CONFIG_mpp_sample_virvi2venc is not set
# CONFIG_mpp_sample_virvi2vencSync is not set
# CONFIG_mpp_sample_virvi2venc2ce is not set
# CONFIG_mpp_sample_twinchn_virvi2venc2ce is not set
# CONFIG_mpp_sample_virvi2venc2muxer is not set
# CONFIG_mpp_sample_virvi2vo is not set
# CONFIG_mpp_sample_vo is not set
# CONFIG_mpp_uncommonly_samples is not set
# CONFIG_PACKAGE_eyesee-mpp-private-onvif is not set
CONFIG_PACKAGE_eyesee-mpp-private-rtsp=y
CONFIG_PACKAGE_eyesee-mpp-system=y
@ -2353,7 +2403,7 @@ CONFIG_wifi_disable=y
CONFIG_PACKAGE_rt_media=y
CONFIG_rt_media_support_venc_param_debug=y
CONFIG_rt_media_demo=y
CONFIG_rt_media_demo_video_in=y
# CONFIG_rt_media_demo_video_in is not set
# CONFIG_rt_media_demo_video_in_3chn is not set
# CONFIG_rt_media_demo_roi is not set
# CONFIG_rt_media_demo_force_i_frame is not set
@ -2374,11 +2424,6 @@ CONFIG_rt_media_demo_video_in=y
# CONFIG_PACKAGE_demo_codec_parallel is not set
# CONFIG_PACKAGE_demo_video_muxer is not set
#
# rt_media-uvc
#
# CONFIG_PACKAGE_rt_media-uvc is not set
#
# smart_card
#
@ -2454,6 +2499,7 @@ CONFIG_PACKAGE_libawnn_full=y
# CONFIG_PACKAGE_recovery-mode is not set
# CONFIG_PACKAGE_resample is not set
# CONFIG_PACKAGE_resnet50-demo is not set
CONFIG_PACKAGE_rt_media-uvc=y
# CONFIG_PACKAGE_snapcast is not set
# CONFIG_PACKAGE_stress-ng is not set
# CONFIG_PACKAGE_sunxiCamera is not set
@ -2727,7 +2773,6 @@ CONFIG_PACKAGE_kmod-fs-vfat=y
# CONFIG_PACKAGE_kmod-hid-generic is not set
CONFIG_PACKAGE_kmod-input-core=y
CONFIG_PACKAGE_kmod-input-evdev=y
# CONFIG_PACKAGE_kmod-input-gpadc is not set
# CONFIG_PACKAGE_kmod-input-gpio-encoder is not set
CONFIG_PACKAGE_kmod-input-gpio-keys=y
# CONFIG_PACKAGE_kmod-input-gpio-keys-polled is not set
@ -2740,7 +2785,7 @@ CONFIG_PACKAGE_kmod-touchscreen-cst9220=y
# CONFIG_PACKAGE_kmod-touchscreen-focaltech is not set
# CONFIG_PACKAGE_kmod-touchscreen-ft5x is not set
# CONFIG_PACKAGE_kmod-touchscreen-ft6336 is not set
CONFIG_PACKAGE_kmod-touchscreen-gslx680new=y
# CONFIG_PACKAGE_kmod-touchscreen-gslx680new is not set
# CONFIG_PACKAGE_kmod-touchscreen-gt82x is not set
# CONFIG_PACKAGE_kmod-touchscreen-tlsc6x is not set
@ -2911,12 +2956,12 @@ CONFIG_PACKAGE_kmod-mmc=y
# CONFIG_PACKAGE_kmod-mmc-over-gpio is not set
# CONFIG_PACKAGE_kmod-rotary-gpio-custom is not set
# CONFIG_PACKAGE_kmod-rt-media is not set
CONFIG_PACKAGE_kmod-snd-usb-audio=y
# CONFIG_PACKAGE_kmod-snd-usb-audio is not set
CONFIG_PACKAGE_kmod-usb=y
CONFIG_PACKAGE_kmod-usb-disk=y
CONFIG_PACKAGE_kmod-usb-uac1=y
CONFIG_PACKAGE_kmod-usb-video-class=y
CONFIG_PACKAGE_kmod-uvc=y
# CONFIG_PACKAGE_kmod-usb-disk is not set
# CONFIG_PACKAGE_kmod-usb-uac1 is not set
# CONFIG_PACKAGE_kmod-usb-video-class is not set
# CONFIG_PACKAGE_kmod-uvc is not set
#
# SPI Support
@ -3004,7 +3049,7 @@ CONFIG_PACKAGE_kmod-vin-v4l2=y
# CONFIG_PACKAGE_kmod-net-qca9377 is not set
# CONFIG_PACKAGE_kmod-net-rtl8188eu is not set
# CONFIG_PACKAGE_kmod-net-rtl8723bs is not set
# CONFIG_PACKAGE_kmod-net-xr806 is not set
CONFIG_PACKAGE_kmod-net-xr806=y
# CONFIG_PACKAGE_kmod-net-xr819s is not set
# CONFIG_PACKAGE_kmod-net-xr819s-40M is not set
# CONFIG_PACKAGE_kmod-net-xr829 is not set
@ -3527,8 +3572,8 @@ CONFIG_PACKAGE_libexpat=y
# CONFIG_PACKAGE_libmraa is not set
# CONFIG_PACKAGE_libmysqlclient is not set
# CONFIG_PACKAGE_libmysqlclient-r is not set
# CONFIG_PACKAGE_libncurses is not set
# CONFIG_PACKAGE_libncursesw is not set
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libncursesw=y
# CONFIG_PACKAGE_libnetfilter-conntrack is not set
# CONFIG_PACKAGE_libnetfilter-cthelper is not set
# CONFIG_PACKAGE_libnetfilter-cttimeout is not set
@ -3560,7 +3605,7 @@ CONFIG_PACKAGE_libnl-tiny=y
# CONFIG_PACKAGE_libprotobuf-c is not set
# CONFIG_PACKAGE_libqrencode is not set
# CONFIG_PACKAGE_libradcli is not set
# CONFIG_PACKAGE_libreadline is not set
CONFIG_PACKAGE_libreadline=y
# CONFIG_PACKAGE_libroxml is not set
# CONFIG_PACKAGE_librpc is not set
# CONFIG_PACKAGE_librrd1 is not set
@ -3633,41 +3678,10 @@ CONFIG_PACKAGE_libuuid=y
# CONFIG_PACKAGE_tbb is not set
# CONFIG_PACKAGE_tcmalloc is not set
# CONFIG_PACKAGE_tcmalloc-minimal is not set
# CONFIG_PACKAGE_terminfo is not set
CONFIG_PACKAGE_terminfo=y
# CONFIG_PACKAGE_tinyalsa-lib is not set
# CONFIG_PACKAGE_tinyxml2 is not set
CONFIG_PACKAGE_tslib=y
#
# Configuration tslib features
#
CONFIG_TSLIB_ENABLE_input=y
# CONFIG_TSLIB_ENABLE_debounce is not set
CONFIG_TSLIB_ENABLE_dejitter=y
# CONFIG_TSLIB_ENABLE_iir is not set
CONFIG_TSLIB_ENABLE_linear=y
# CONFIG_TSLIB_ENABLE_median is not set
CONFIG_TSLIB_ENABLE_pthres=y
# CONFIG_TSLIB_ENABLE_skip is not set
# CONFIG_TSLIB_ENABLE_lowpass is not set
# CONFIG_TSLIB_ENABLE_invert is not set
CONFIG_TSLIB_ENABLE_variance=y
# CONFIG_TSLIB_ENABLE_tatung is not set
# CONFIG_TSLIB_ENABLE_touchkit is not set
# CONFIG_TSLIB_ENABLE_waveshare is not set
# CONFIG_TSLIB_ENABLE_ucb1x00 is not set
# CONFIG_TSLIB_ENABLE_mk712 is not set
# CONFIG_TSLIB_ENABLE_h3600 is not set
# CONFIG_TSLIB_ENABLE_dmc is not set
# CONFIG_TSLIB_ENABLE_linear-h2200 is not set
# CONFIG_TSLIB_ENABLE_corgi is not set
# CONFIG_TSLIB_ENABLE_collie is not set
# CONFIG_TSLIB_ENABLE_arctic2 is not set
# CONFIG_TSLIB_ENABLE_dmc_dus3000 is not set
# CONFIG_TSLIB_ENABLE_cy8mrln-palmpre is not set
# CONFIG_TSLIB_ENABLE_galax is not set
# CONFIG_TSLIB_ENABLE_tests is not set
# CONFIG_TSLIB_ENABLE_tools is not set
# CONFIG_PACKAGE_tslib is not set
CONFIG_PACKAGE_uclibcxx=y
# CONFIG_PACKAGE_uriparser is not set
# CONFIG_PACKAGE_uvoice is not set
@ -4397,7 +4411,7 @@ CONFIG_PACKAGE_blkid=y
# CONFIG_PACKAGE_googletest is not set
# CONFIG_PACKAGE_gpio_ir_test is not set
# CONFIG_PACKAGE_gpioctl-sysfs is not set
# CONFIG_PACKAGE_htop is not set
CONFIG_PACKAGE_htop=y
# CONFIG_PACKAGE_hwclock is not set
# CONFIG_PACKAGE_i2c-tools is not set
# CONFIG_PACKAGE_iconv is not set

View File

@ -13,10 +13,10 @@ define KernelPackage/vin-v4l2
FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-memops.ko
FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-v4l2.ko
FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_io.ko
FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor/gc2053_mipi.ko
FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor/gc2083_mipi.ko
# FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor_power/sensor_power.ko
FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_v4l2.ko
AUTOLOAD:=$(call AutoProbe,videobuf2-core videobuf2-dma-contig videobuf2-memops videobuf2-v4l2 vin_io gc2053_mipi vin_v4l2)
AUTOLOAD:=$(call AutoProbe,videobuf2-core videobuf2-dma-contig videobuf2-memops videobuf2-v4l2 vin_io gc2083_mipi vin_v4l2)
endef
define KernelPackage/vin-v4l2/description
@ -104,8 +104,12 @@ define KernelPackage/usb
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_fs.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_mass_storage.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_hid.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_uvc.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/udc/udc-core.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/u_audio.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_uac1.ko
FILES+=$(LINUX_DIR)/fs/configfs/configfs.ko
FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-vmalloc.ko
AUTOLOAD:=$(call AutoProbe, usbcore.ko ohci-hcd.ko sunxi_hci.ko ehci-hcd.ko usb-common.ko sunxi_usbc.ko sunxi_usb_udc.ko libcomposite.ko usb_f_fs.ko usb_f_mass_storage.ko usb_f_hid.ko udc-core.ko configfs.ko)
endef
@ -162,7 +166,9 @@ define KernelPackage/audio
FILES+=$(LINUX_DIR)/sound/core/snd.ko
FILES+=$(LINUX_DIR)/sound/core/snd-pcm.ko
FILES+=$(LINUX_DIR)/sound/core/snd-timer.ko
AUTOLOAD:=$(call AutoProbe, soundcore.ko snd-soc-core.ko snd_soc_sunxi_pcm.ko snd_soc_sunxi_aaudio.ko snd_soc_sunxi_machine.ko snd_soc_sunxi_internal_codec.ko snd_soc_sunxi_component_rxsync.ko snd_soc_sunxi_daudio.ko snd-pcm-dmaengine.ko snd.ko snd-pcm.ko snd-timer.ko)
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/u_audio.ko
FILES+=$(LINUX_DIR)/drivers/usb/gadget/function/usb_f_uac1.ko
AUTOLOAD:=$(call AutoProbe, soundcore.ko snd-soc-core.ko snd_soc_sunxi_pcm.ko snd_soc_sunxi_aaudio.ko snd_soc_sunxi_machine.ko snd_soc_sunxi_internal_codec.ko snd_soc_sunxi_component_rxsync.ko snd_soc_sunxi_daudio.ko snd-pcm-dmaengine.ko snd.ko snd-pcm.ko snd-timer.ko u_audio.ko usb_f_uac1.ko)
endef
define KernelPackage/audio/description
@ -397,19 +403,3 @@ Kernel modules for usb video class support
endef
$(eval $(call KernelPackage,snd-usb-audio))
define KernelPackage/input-gpadc
SUBMENU:=$(INPUT_MODULES_MENU)
TITLE:=Input gpadc support
DEPENDS:=+kmod-input-core
KCONFIG:=CONFIG_SENSORS_GPADC
FILES:=$(LINUX_DIR)/drivers/input/sensor/sunxi_gpadc.ko
AUTOLOAD:=$(call AutoLoad,60,sunxi_gpadc)
endef
define KernelPackage/input-gpadc/description
Kernel modules for support of gpadc
endef
$(eval $(call KernelPackage,input-gpadc))

View File

@ -12,7 +12,7 @@ TARGET_DIR := $(CURDIR)/busybox-init-base-files
HOOKS := $(CURDIR)/busybox-init-base-files_generate/rootfs_hook_squash.sh
all:
@echo ==================================================
@echo target/allwinner/v851s3-fastboot/tina_busybox-init-basefiles.mk is called to generate shell scripts
@echo target/allwinner/v851s3-fastboot_sl100_front/tina_busybox-init-basefiles.mk is called to generate shell scripts
@echo ==================================================
(${HOOKS} ${TARGET_DIR} >/dev/null) || { \
echo "Execute the ${HOOKS} is failed"; \
@ -22,7 +22,7 @@ all:
clean:
@echo ==================================================
@echo target/allwinner/v851s3-fastboot/tina_busybox-init-basefiles.mk is called to clean shell scripts
@echo target/allwinner/v851s3-fastboot_sl100_front/tina_busybox-init-basefiles.mk is called to clean shell scripts
@echo ==================================================
# -rm -f ${TARGET_DIR}/etc/TZ
# -rm -rf ${TARGET_DIR}/etc/cron.d