From ee92eeb54c529436cd4c900e9debcc48cfee37d5 Mon Sep 17 00:00:00 2001 From: wangzijiao Date: Thu, 17 Jan 2019 17:24:28 +0800 Subject: [PATCH] add t50p37 lcd driver in uboot and kernel && some test lcd apps --- .../drivers/video/sunxi/disp2/disp/Makefile | 2 +- .../video/sunxi/disp2/disp/de/include.h | 2 +- .../sunxi/disp2/disp/lcd/netease_t50p37.c | 505 ++++++++++ .../sunxi/disp2/disp/lcd/netease_t50p37.h | 18 + .../video/sunxi/disp2/disp/lcd/panels.c | 1 + .../video/sunxi/disp2/disp/lcd/panels.h | 1 + .../video/fbdev/sunxi/disp2/disp/Makefile | 2 +- .../fbdev/sunxi/disp2/disp/de/disp_display.c | 1 + .../video/fbdev/sunxi/disp2/disp/de/include.h | 1 - .../video/fbdev/sunxi/disp2/disp/dev_disp.c | 16 +- .../fbdev/sunxi/disp2/disp/disp_sys_intf.c | 8 +- .../sunxi/disp2/disp/lcd/netease_t50p37.c | 521 ++++++++++ .../sunxi/disp2/disp/lcd/netease_t50p37.h | 18 + .../video/fbdev/sunxi/disp2/disp/lcd/panels.c | 1 + .../video/fbdev/sunxi/disp2/disp/lcd/panels.h | 1 + .../libs/libhwdisplay/src/hwdisplay.c | 6 +- package/netease/netease_test/Makefile | 2 +- package/netease/netease_test/src/Makefile | 2 +- package/netease/netease_test/src/fbtest.c | 537 +++++++++++ package/netease/netease_test/src/main.c | 19 + package/netease/submodules | 2 +- target/allwinner/mandolin-c1evb/config-4.9 | 14 +- .../mandolin-c1evb/configs/sys_config.fex | 106 +- target/allwinner/mandolin-c1evb/defconfig | 907 +++++++++++++++++- .../mandolin-common/bin/u-boot-sun8iw15p1.bin | Bin 951320 -> 954784 bytes 25 files changed, 2620 insertions(+), 73 deletions(-) create mode 100755 lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.c create mode 100755 lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.h create mode 100755 lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.c create mode 100755 lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.h create mode 100644 package/netease/netease_test/src/fbtest.c diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/Makefile b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/Makefile index a120fb336..0bc524123 100755 --- a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/Makefile +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/Makefile @@ -26,7 +26,7 @@ else disp-objs += lcd/lt070me05000.o lcd/wtq05027d01.o lcd/t27p06.o \ lcd/dx0960be40a1.o lcd/tft720x1280.o lcd/S6D7AA0X01.o \ lcd/inet_dsi_panel.o lcd/cpu_gg1p4062utsw.o lcd/vr_sharp.o \ - lcd/WilliamLcd.o lcd/tm_dsi_panel.o lcd/default_eink.o + lcd/netease_t50p37.o lcd/WilliamLcd.o lcd/tm_dsi_panel.o lcd/default_eink.o endif endif diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/de/include.h b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/de/include.h index 88a11ed05..07ef02c70 100755 --- a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/de/include.h +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/de/include.h @@ -113,7 +113,7 @@ s32 bsp_disp_get_print_level(void); #endif #endif -#define DEFAULT_PRINT_LEVLE 0 +#define DEFAULT_PRINT_LEVLE 2 #if defined(CONFIG_FPGA_V4_PLATFORM) || defined(CONFIG_FPGA_V7_PLATFORM) || defined(CONFIG_A67_FPGA) #define __FPGA_DEBUG__ #endif diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.c b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.c new file mode 100755 index 000000000..b907e5bd6 --- /dev/null +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.c @@ -0,0 +1,505 @@ +/* + * Allwinner SoCs display driver. + * + * Copyright (C) 2016 Netease. + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ +#define DEBUG +#include "netease_t50p37.h" +#define printk printf + +#define t50p37_spi_scl_1 sunxi_lcd_gpio_set_value(0, 1, 1) +#define t50p37_spi_scl_0 sunxi_lcd_gpio_set_value(0, 1, 0) +#define t50p37_spi_sdi_1 sunxi_lcd_gpio_set_value(0, 2, 1) +#define t50p37_spi_sdi_0 sunxi_lcd_gpio_set_value(0, 2, 0) +#define t50p37_spi_cs_1 sunxi_lcd_gpio_set_value(0, 0, 1) +#define t50p37_spi_cs_0 sunxi_lcd_gpio_set_value(0, 0, 0) +#define t50p37_rst_0 sunxi_lcd_gpio_set_value(0, 3, 0) +#define t50p37_rst_1 sunxi_lcd_gpio_set_value(0, 3, 1) +#define Delay(us) sunxi_lcd_delay_us(us) + + +static void WriteComm(u8 value); +static void WriteData(u8 value); + +static void lcd_panel_t50p37_init(void); +static void LCD_power_on(u32 sel); +static void LCD_power_off(u32 sel); +static void LCD_bl_open(u32 sel); +static void LCD_bl_close(u32 sel); + +static void LCD_panel_init(u32 sel); +static void LCD_panel_exit(u32 sel); + +static void LCD_cfg_panel_info(panel_extend_para * info) +{ + u32 i = 0, j=0; + u32 items; + u8 lcd_gamma_tbl[][2] = + { + //{input value, corrected value} + {0, 0}, + {15, 15}, + {30, 30}, + {45, 45}, + {60, 60}, + {75, 75}, + {90, 90}, + {105, 105}, + {120, 120}, + {135, 135}, + {150, 150}, + {165, 165}, + {180, 180}, + {195, 195}, + {210, 210}, + {225, 225}, + {240, 240}, + {255, 255}, + }; + + u32 lcd_cmap_tbl[2][3][4] = { + { + {LCD_CMAP_G0,LCD_CMAP_B1,LCD_CMAP_G2,LCD_CMAP_B3}, + {LCD_CMAP_B0,LCD_CMAP_R1,LCD_CMAP_B2,LCD_CMAP_R3}, + {LCD_CMAP_R0,LCD_CMAP_G1,LCD_CMAP_R2,LCD_CMAP_G3}, + }, + { + {LCD_CMAP_B3,LCD_CMAP_G2,LCD_CMAP_B1,LCD_CMAP_G0}, + {LCD_CMAP_R3,LCD_CMAP_B2,LCD_CMAP_R1,LCD_CMAP_B0}, + {LCD_CMAP_G3,LCD_CMAP_R2,LCD_CMAP_G1,LCD_CMAP_R0}, + }, + }; + + items = sizeof(lcd_gamma_tbl)/2; + for (i=0; ilcd_gamma_tbl[lcd_gamma_tbl[i][0] + j] = (value<<16) + (value<<8) + value; + } + } + info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items-1][1]<<16) + (lcd_gamma_tbl[items-1][1]<<8) + lcd_gamma_tbl[items-1][1]; + + memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl)); + +} + +static s32 LCD_open_flow(u32 sel) { + printk("wzj: LCD_open_flow!\n"); + + /* open lcd power, and delay 50ms */ + LCD_OPEN_FUNC(sel, LCD_power_on, 30); + /* open lcd power, than delay 200ms */ + LCD_OPEN_FUNC(sel, LCD_panel_init, 10); + /* open lcd controller, and delay 100ms */ + LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 300); + /* open lcd backlight, and delay 0ms */ + LCD_OPEN_FUNC(sel, LCD_bl_open, 0); + + return 0; +} + +static s32 LCD_close_flow(u32 sel) { + printk("wzj:LCD_close_flow\n"); + + /* close lcd backlight, and delay 0ms */ + LCD_CLOSE_FUNC(sel, LCD_bl_close, 300); + /* close lcd controller, and delay 0ms */ + LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 10); + /* open lcd power, than delay 200ms */ + LCD_CLOSE_FUNC(sel, LCD_panel_exit, 10); + /* close lcd power, and delay 500ms */ + LCD_CLOSE_FUNC(sel, LCD_power_off, 500); + + return 0; +} + +static void LCD_power_on(u32 sel) { + printk("wzj:LCD_power_on!arg:%d\n", sel); + + /* config lcd_power pin to open lcd power0 */ + sunxi_lcd_power_enable(sel, 0); + /* pwr_en, active low */ + //sunxi_lcd_gpio_set_value(sel, 3, 0); + sunxi_lcd_pin_cfg(sel, 1); + + printk("wzj:Begin to control rst gpio!\n"); + t50p37_rst_0; + sunxi_lcd_delay_us(500); + t50p37_rst_1; + sunxi_lcd_delay_us(500); +} + +static void LCD_power_off(u32 sel) { + printk("wzj:LCD_power_off\n"); + + return; + sunxi_lcd_pin_cfg(sel, 0); + /* pwr_en, active low */ + sunxi_lcd_gpio_set_value(sel, 3, 1); + /* config lcd_power pin to close lcd power0 */ + sunxi_lcd_power_disable(sel, 0); +} + +static void LCD_bl_open(u32 sel) { + printk("wzj:bl open!\n"); + sunxi_lcd_pwm_enable(sel); + /* config lcd_bl_en pin to open lcd backlight */ + sunxi_lcd_backlight_enable(sel); +} + +static void LCD_bl_close(u32 sel) { + printk("wzj:bl close!\n"); + + /* config lcd_bl_en pin to close lcd backlight */ + sunxi_lcd_backlight_disable(sel); + sunxi_lcd_pwm_disable(sel); +} + +static void LCD_panel_init(u32 sel) +{ + disp_panel_para *info = kmalloc(sizeof(disp_panel_para), GFP_KERNEL | __GFP_ZERO); + + bsp_disp_get_panel_info(sel, info); + lcd_panel_t50p37_init(); + kfree(info); +} + +static void LCD_panel_exit(u32 sel) +{ + disp_panel_para *info = kmalloc(sizeof(disp_panel_para), GFP_KERNEL | __GFP_ZERO); + + bsp_disp_get_panel_info(sel, info); + kfree(info); +} + +static void WriteComm(u8 value) { + u8 i; + + t50p37_spi_cs_1; + t50p37_spi_sdi_1; + t50p37_spi_scl_1; + sunxi_lcd_delay_us(10); + // enable cs + t50p37_spi_cs_0; + // prepare write cmd + t50p37_spi_scl_0; + // write cmd/data flag to 0, mean:cmd + t50p37_spi_sdi_0; + sunxi_lcd_delay_us(10); + // send out the first bit + t50p37_spi_scl_1; + + // write data,msb + for (i = 0; i < 8; i++) { + sunxi_lcd_delay_us(10); + t50p37_spi_scl_0; + if (value & 0x80) + t50p37_spi_sdi_1; + else + t50p37_spi_sdi_0; + value <<= 1; + sunxi_lcd_delay_us(10); + t50p37_spi_scl_1; + } + sunxi_lcd_delay_us(10); + t50p37_spi_sdi_1; + t50p37_spi_cs_1; +} + +static void WriteData(u8 value) { + u8 i; + + t50p37_spi_cs_1; + t50p37_spi_sdi_1; + t50p37_spi_scl_1; + sunxi_lcd_delay_us(10); + // enable cs + t50p37_spi_cs_0; + // prepare write cmd + t50p37_spi_scl_0; + // write cmd/data flag to 1, mean:data + t50p37_spi_sdi_1; + sunxi_lcd_delay_us(10); + // send out the first bit + t50p37_spi_scl_1; + + // write data,msb + for (i = 0; i < 8; i++) { + sunxi_lcd_delay_us(10); + t50p37_spi_scl_0; + if (value & 0x80) + t50p37_spi_sdi_1; + else + t50p37_spi_sdi_0; + value <<= 1; + sunxi_lcd_delay_us(10); + t50p37_spi_scl_1; + } + sunxi_lcd_delay_us(10); + t50p37_spi_sdi_1; + t50p37_spi_cs_1; +} + +/* sel: 0:lcd0; 1:lcd1 */ +static s32 LCD_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3) { + return 0; +} + +__lcd_panel_t netease_t50p37_panel = { + /* panel driver name, must mach the lcd_drv_name in sys_config.fex */ + .name = "NETEASE_T50P37", + .func = + { + .cfg_panel_info = LCD_cfg_panel_info, + .cfg_open_flow = LCD_open_flow, + .cfg_close_flow = LCD_close_flow, + .lcd_user_defined_func = LCD_user_defined_func, + }, +}; + +static void lcd_panel_t50p37_init(void) { + printk("Begin to init netease t50p37\n"); + WriteComm(0x11); + Delay(120); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x10); + + WriteComm(0xC0); + WriteData(0xE9); + WriteData(0x03); + + WriteComm(0xC1); + WriteData(0x11); + WriteData(0x02); + + WriteComm(0xC2); + WriteData(0x01); + WriteData(0x03); ////08 + + WriteComm(0xCC); + WriteData(0x10); + + WriteComm(0xB0); + WriteData(0x00); + WriteData(0x0D); + WriteData(0x14); + WriteData(0x0E); + WriteData(0x11); + WriteData(0x07); + WriteData(0x44); + WriteData(0x08); + WriteData(0x08); + WriteData(0x60); + WriteData(0x03); + WriteData(0x11); + WriteData(0x10); + WriteData(0x2D); + WriteData(0x34); + WriteData(0x1F); + + WriteComm(0xB1); + WriteData(0x00); + WriteData(0x0C); + WriteData(0x13); + WriteData(0x0D); + WriteData(0x10); + WriteData(0x05); + WriteData(0x43); + WriteData(0x08); + WriteData(0x07); + WriteData(0x60); + WriteData(0x04); + WriteData(0x11); + WriteData(0x10); + WriteData(0x2D); + WriteData(0x34); + WriteData(0x1F); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x11); + + WriteComm(0xB0); + WriteData(0x67); + WriteComm(0xB1); + WriteData(0x66); + + WriteComm(0xB2); + WriteData(0x87); ////07 + + WriteComm(0xB3); + WriteData(0x80); + + WriteComm(0xB5); + WriteData(0x45); + + WriteComm(0xB7); + WriteData(0x85); + + WriteComm(0xB8); + WriteData(0x21); + + WriteComm(0xB9); + WriteData(0x10); + + WriteComm(0xC0); + WriteData(0x03); + + WriteComm(0xC1); + WriteData(0x78); + + WriteComm(0xC2); + WriteData(0x78); + + WriteComm(0xD0); + WriteData(0x88); + Delay(100); + + WriteComm(0xE0); + WriteData(0x00); + WriteData(0x00); + WriteData(0x02); + + WriteComm(0xE1); + WriteData(0x08); + WriteData(0x00); + WriteData(0x0A); + WriteData(0x00); + WriteData(0x07); + WriteData(0x00); + WriteData(0x09); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE2); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + + WriteComm(0xE3); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE4); + WriteData(0x44); + WriteData(0x44); + + WriteComm(0xE5); + WriteData(0x0E); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x10); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0A); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0C); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + + WriteComm(0xE6); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE7); + WriteData(0x44); + WriteData(0x44); + + WriteComm(0xE8); + WriteData(0x0D); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0F); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x09); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0B); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + + WriteComm(0xEB); + WriteData(0x02); + WriteData(0x01); + WriteData(0xE4); + WriteData(0xE4); + WriteData(0x44); + WriteData(0x00); + WriteData(0x40); + + WriteComm(0xEC); + WriteData(0x02); + WriteData(0x01); + + WriteComm(0xED); + WriteData(0xAB); + WriteData(0x89); + WriteData(0x76); + WriteData(0x54); + WriteData(0x01); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0x10); + WriteData(0x45); + WriteData(0x67); + WriteData(0x98); + WriteData(0xBA); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + + WriteComm(0x3a); + WriteData(0x77); + WriteComm(0x29); + Delay(100); +} diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.h b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.h new file mode 100755 index 000000000..f316985e3 --- /dev/null +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/netease_t50p37.h @@ -0,0 +1,18 @@ +/* + * Allwinner SoCs display driver. + * + * Copyright (C) 2016 Allwinner. + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#ifndef __T50P37_PANEL_H__ +#define __T50P37_PANEL_H__ + +#include "panels.h" + +extern __lcd_panel_t netease_t50p37_panel; + +#endif diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.c b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.c index 00b615098..8e6896a8b 100755 --- a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.c +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.c @@ -46,6 +46,7 @@ __lcd_panel_t* panel_array[] = { &gg1p4062utsw_panel, &vr_sharp_panel, &WilliamLcd_panel, + &netease_t50p37_panel, #endif #endif /*endif CONFIG_ARCH_SUN50IW3P1 */ diff --git a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.h b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.h index 494ed32eb..7f71564b9 100755 --- a/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.h +++ b/lichee/brandy/u-boot-2014.07/drivers/video/sunxi/disp2/disp/lcd/panels.h @@ -99,6 +99,7 @@ extern __lcd_panel_t tft720x1280_panel; extern __lcd_panel_t S6D7AA0X01_panel; extern __lcd_panel_t gg1p4062utsw_panel; extern __lcd_panel_t vr_sharp_panel; +extern __lcd_panel_t netease_t50p37_panel; #endif /*endif CONFIG_ARCH_SUN8IW12P1 */ #endif /*endif CONFIG_ARCH_SUN50IW3P1 */ diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/Makefile b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/Makefile index 1bad4e754..9182fadd2 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/Makefile +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/Makefile @@ -18,7 +18,7 @@ disp-objs += lcd/panels.o lcd/lcd_source.o lcd/default_panel.o \ lcd/dx0960be40a1.o lcd/tft720x1280.o lcd/S6D7AA0X01.o \ lcd/default_eink.o lcd/cpu_gg1p4062utsw.o lcd/ls029b3sx02.o \ lcd/he0801a068.o lcd/inet_dsi_panel.o lcd/lq101r1sx03.o lcd/WilliamLcd.o \ - lcd/tm_dsi_panel.o + lcd/tm_dsi_panel.o lcd/netease_t50p37.o disp-objs += $(obj_low) ifeq ($(strip $(CONFIG_ARCH_SUN8IW8)),) diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c index 280d212b9..6812e889c 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/disp_display.c @@ -928,6 +928,7 @@ s32 bsp_disp_set_print_level(u32 print_level) s32 bsp_disp_get_print_level(void) { + //change by wzj return gdisp.print_level; } diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/include.h b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/include.h index 42bdccf90..3ea465347 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/include.h +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/include.h @@ -10,7 +10,6 @@ #ifndef _DISP_INCLUDE_H_ #define _DISP_INCLUDE_H_ - #define __LINUX_PLAT__ /* #define __UBOOT_PLAT__ */ diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_disp.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_disp.c index cdad5f9b3..4fe6271c5 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_disp.c +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_disp.c @@ -9,6 +9,7 @@ */ #include "dev_disp.h" + #include #if defined(CONFIG_DEVFREQ_DRAM_FREQ_WITH_SOFT_NOTIFY) #include @@ -1151,7 +1152,6 @@ static s32 parser_disp_init_para(const struct device_node *np, { int value; int i; - memset(init_para, 0, sizeof(struct disp_init_para)); if (of_property_read_u32(np, "disp_init_enable", &value) < 0) { @@ -1159,7 +1159,6 @@ static s32 parser_disp_init_para(const struct device_node *np, return -1; } init_para->b_init = value; - if (of_property_read_u32(np, "disp_mode", &value) < 0) { __wrn("of_property_read disp_init.disp_mode fail\n"); return -1; @@ -1171,6 +1170,7 @@ static s32 parser_disp_init_para(const struct device_node *np, __wrn("of_property_read disp_init.screen0_output_type fail\n"); return -1; } + if (value == 0) { init_para->output_type[0] = DISP_OUTPUT_TYPE_NONE; } else if (value == 1) { @@ -1405,7 +1405,6 @@ static s32 parser_disp_init_para(const struct device_node *np, __inf("fb_height[%d]:%d\n", i, init_para->fb_height[i]); } __inf("====display init para end====\n"); - return 0; } @@ -1526,7 +1525,6 @@ static void start_work(struct work_struct *work) int num_screens; int screen_id; int count = 0; - num_screens = bsp_disp_feat_get_num_screens(); while ((g_disp_drv.inited == 0) && (count < 5)) { count++; @@ -1937,7 +1935,7 @@ static s32 disp_init(struct platform_device *pdev) g_disp_drv.disp_init.output_aspect_ratio[para->boot_info.disp]; if (para->boot_info.sync == 1) { - __wrn("smooth display screen:%d type:%d", para->boot_info.disp, + __wrn("boot_disp display screen:%d type:%d\n", para->boot_info.disp, para->boot_info.type); g_disp_drv.disp_init.disp_mode = para->boot_info.disp; g_disp_drv.disp_init.output_type[para->boot_info.disp] = @@ -1960,9 +1958,10 @@ static s32 disp_init(struct platform_device *pdev) bsp_disp_init(para); - /*if (bsp_disp_check_device_enabled(para) == 0) + //opened by wzj + //if (bsp_disp_check_device_enabled(para) == 0) para->boot_info.sync = 0; - */ + num_screens = bsp_disp_feat_get_num_screens(); for (disp = 0; disp < num_screens; disp++) g_disp_drv.mgr[disp] = disp_get_layer_manager(disp); @@ -3660,8 +3659,9 @@ static int __init disp_module_init(void) #ifndef CONFIG_OF ret = platform_device_register(&disp_device); #endif - if (ret == 0) + if (ret == 0) { ret = platform_driver_register(&disp_driver); + } #ifdef CONFIG_DISP2_SUNXI_DEBUG dispdbg_init(); #endif diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/disp_sys_intf.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/disp_sys_intf.c index 2e48ccb84..7b3dac2d8 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/disp_sys_intf.c +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/disp_sys_intf.c @@ -200,18 +200,18 @@ int disp_sys_script_get_item(char *main_name, char *sub_name, int value[], } if (type == 1) { - if (of_property_read_u32_array(node, sub_name, value, 1)) + if (of_property_read_u32_array(node, sub_name, value, 1)){ __inf("of_property_read_u32_array %s.%s fail\n", main_name, sub_name); - else + }else ret = type; } else if (type == 2) { const char *str; - if (of_property_read_string(node, sub_name, &str)) + if (of_property_read_string(node, sub_name, &str)) { __inf("of_property_read_string %s.%s fail\n", main_name, sub_name); - else { + }else { ret = type; memcpy((void *)value, str, strlen(str) + 1); } diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.c new file mode 100755 index 000000000..34b8bf9ac --- /dev/null +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.c @@ -0,0 +1,521 @@ +/* + * Allwinner SoCs display driver. + * + * Copyright (C) 2016 Netease. + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ +#define DEBUG +#include "netease_t50p37.h" +#include + +#define t50p37_spi_scl_1 sunxi_lcd_gpio_set_value(0, 1, 1) +#define t50p37_spi_scl_0 sunxi_lcd_gpio_set_value(0, 1, 0) +#define t50p37_spi_sdi_1 sunxi_lcd_gpio_set_value(0, 2, 1) +#define t50p37_spi_sdi_0 sunxi_lcd_gpio_set_value(0, 2, 0) +#define t50p37_spi_cs_1 sunxi_lcd_gpio_set_value(0, 0, 1) +#define t50p37_spi_cs_0 sunxi_lcd_gpio_set_value(0, 0, 0) +#define t50p37_rst_0 sunxi_lcd_gpio_set_value(0, 3, 0) +#define t50p37_rst_1 sunxi_lcd_gpio_set_value(0, 3, 1) +#define Delay(us) sunxi_lcd_delay_us(us) + +static void t50p37_spi_wr(u32 value); +static void WriteComm(u8 value); +static void WriteData(u8 value); + +static void lcd_panel_t50p37_init(void); +static void LCD_power_on(u32 sel); +static void LCD_power_off(u32 sel); +static void LCD_bl_open(u32 sel); +static void LCD_bl_close(u32 sel); + +static void LCD_panel_init(u32 sel); +static void LCD_panel_exit(u32 sel); + +static void LCD_cfg_panel_info(struct panel_extend_para *info) { + u32 i = 0, j = 0; + u32 items; + u8 lcd_gamma_tbl[][2] = { + /* {input value, corrected value} */ + {0, 0}, {15, 15}, {30, 30}, {45, 45}, {60, 60}, {75, 75}, + {90, 90}, {105, 105}, {120, 120}, {135, 135}, {150, 150}, {165, 165}, + {180, 180}, {195, 195}, {210, 210}, {225, 225}, {240, 240}, {255, 255}, + }; + + u32 lcd_cmap_tbl[2][3][4] = { + { + {LCD_CMAP_G0, LCD_CMAP_B1, LCD_CMAP_G2, LCD_CMAP_B3}, + {LCD_CMAP_B0, LCD_CMAP_R1, LCD_CMAP_B2, LCD_CMAP_R3}, + {LCD_CMAP_R0, LCD_CMAP_G1, LCD_CMAP_R2, LCD_CMAP_G3}, + }, + { + {LCD_CMAP_B3, LCD_CMAP_G2, LCD_CMAP_B1, LCD_CMAP_G0}, + {LCD_CMAP_R3, LCD_CMAP_B2, LCD_CMAP_R1, LCD_CMAP_B0}, + {LCD_CMAP_G3, LCD_CMAP_R2, LCD_CMAP_G1, LCD_CMAP_R0}, + }, + }; + + //return; + + items = sizeof(lcd_gamma_tbl) / 2; + for (i = 0; i < items - 1; i++) { + u32 num = lcd_gamma_tbl[i + 1][0] - lcd_gamma_tbl[i][0]; + + for (j = 0; j < num; j++) { + u32 value = 0; + + value = lcd_gamma_tbl[i][1] + + ((lcd_gamma_tbl[i + 1][1] - lcd_gamma_tbl[i][1]) * j) / num; + info->lcd_gamma_tbl[lcd_gamma_tbl[i][0] + j] = + (value << 16) + (value << 8) + value; + } + } + info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items - 1][1] << 16) + + (lcd_gamma_tbl[items - 1][1] << 8) + + lcd_gamma_tbl[items - 1][1]; + + memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl)); +} + +static s32 LCD_open_flow(u32 sel) { + pr_debug("wzj: LCD_open_flow!\n"); + + /* open lcd power, and delay 50ms */ + LCD_OPEN_FUNC(sel, LCD_power_on, 30); + /* open lcd power, than delay 200ms */ + LCD_OPEN_FUNC(sel, LCD_panel_init, 10); + /* open lcd controller, and delay 100ms */ + LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 300); + /* open lcd backlight, and delay 0ms */ + LCD_OPEN_FUNC(sel, LCD_bl_open, 0); + + return 0; +} + +static s32 LCD_close_flow(u32 sel) { + pr_debug("wzj:LCD_close_flow\n"); + + /* close lcd backlight, and delay 0ms */ + LCD_CLOSE_FUNC(sel, LCD_bl_close, 300); + /* close lcd controller, and delay 0ms */ + LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 10); + /* open lcd power, than delay 200ms */ + LCD_CLOSE_FUNC(sel, LCD_panel_exit, 10); + /* close lcd power, and delay 500ms */ + LCD_CLOSE_FUNC(sel, LCD_power_off, 500); + + return 0; +} + +static void LCD_power_on(u32 sel) { + pr_debug("wzj:LCD_power_on!arg:%d\n", sel); + + /* config lcd_power pin to open lcd power0 */ + sunxi_lcd_power_enable(sel, 0); + /* pwr_en, active low */ + //sunxi_lcd_gpio_set_value(sel, 3, 0); + sunxi_lcd_pin_cfg(sel, 1); + + pr_debug("wzj:Begin to control rst gpio!\n"); + t50p37_rst_0; + sunxi_lcd_delay_us(500); + //sunxi_lcd_delay_ms(15); + t50p37_rst_1; + //sunxi_lcd_delay_ms(30); + sunxi_lcd_delay_us(500); +} + +static void LCD_power_off(u32 sel) { + pr_debug("wzj:LCD_power_off\n"); + + return; + sunxi_lcd_pin_cfg(sel, 0); + /* pwr_en, active low */ + sunxi_lcd_gpio_set_value(sel, 3, 1); + /* config lcd_power pin to close lcd power0 */ + sunxi_lcd_power_disable(sel, 0); +} + +static void LCD_bl_open(u32 sel) { + pr_debug("wzj:bl open!\n"); + sunxi_lcd_pwm_enable(sel); + /* config lcd_bl_en pin to open lcd backlight */ + sunxi_lcd_backlight_enable(sel); +} + +static void LCD_bl_close(u32 sel) { + pr_debug("wzj:bl close!\n"); + + /* config lcd_bl_en pin to close lcd backlight */ + sunxi_lcd_backlight_disable(sel); + sunxi_lcd_pwm_disable(sel); +} + +static void LCD_panel_init(u32 sel) { + struct disp_panel_para *info = + kmalloc(sizeof(struct disp_panel_para), GFP_KERNEL | __GFP_ZERO); + + bsp_disp_get_panel_info(sel, info); + lcd_panel_t50p37_init(); + kfree(info); +} + +static void LCD_panel_exit(u32 sel) { + struct disp_panel_para *info = + kmalloc(sizeof(struct disp_panel_para), GFP_KERNEL | __GFP_ZERO); + + bsp_disp_get_panel_info(sel, info); + kfree(info); +} + +static void WriteComm(u8 value) { + u8 i; + + t50p37_spi_cs_1; + t50p37_spi_sdi_1; + t50p37_spi_scl_1; + sunxi_lcd_delay_us(10); + // enable cs + t50p37_spi_cs_0; + // prepare write cmd + t50p37_spi_scl_0; + // write cmd/data flag to 0, mean:cmd + t50p37_spi_sdi_0; + sunxi_lcd_delay_us(10); + // send out the first bit + t50p37_spi_scl_1; + + // write data,msb + for (i = 0; i < 8; i++) { + sunxi_lcd_delay_us(10); + t50p37_spi_scl_0; + if (value & 0x80) + t50p37_spi_sdi_1; + else + t50p37_spi_sdi_0; + value <<= 1; + sunxi_lcd_delay_us(10); + t50p37_spi_scl_1; + } + sunxi_lcd_delay_us(10); + t50p37_spi_sdi_1; + t50p37_spi_cs_1; +} + +static void WriteData(u8 value) { + u8 i; + + t50p37_spi_cs_1; + t50p37_spi_sdi_1; + t50p37_spi_scl_1; + sunxi_lcd_delay_us(10); + // enable cs + t50p37_spi_cs_0; + // prepare write cmd + t50p37_spi_scl_0; + // write cmd/data flag to 1, mean:data + t50p37_spi_sdi_1; + sunxi_lcd_delay_us(10); + // send out the first bit + t50p37_spi_scl_1; + + // write data,msb + for (i = 0; i < 8; i++) { + sunxi_lcd_delay_us(10); + t50p37_spi_scl_0; + if (value & 0x80) + t50p37_spi_sdi_1; + else + t50p37_spi_sdi_0; + value <<= 1; + sunxi_lcd_delay_us(10); + t50p37_spi_scl_1; + } + sunxi_lcd_delay_us(10); + t50p37_spi_sdi_1; + t50p37_spi_cs_1; +} + +static void t50p37_spi_wr(u32 value) { + u32 i; + + t50p37_spi_cs_1; + t50p37_spi_sdi_1; + t50p37_spi_scl_1; + sunxi_lcd_delay_us(10); + t50p37_spi_cs_0; + sunxi_lcd_delay_us(10); + for (i = 0; i < 16; i++) { + sunxi_lcd_delay_us(10); + t50p37_spi_scl_0; + if (value & 0x8000) + t50p37_spi_sdi_1; + else + t50p37_spi_sdi_0; + value <<= 1; + sunxi_lcd_delay_us(10); + t50p37_spi_scl_1; + } + sunxi_lcd_delay_us(10); + t50p37_spi_sdi_1; + t50p37_spi_cs_1; +} + +/* sel: 0:lcd0; 1:lcd1 */ +static s32 LCD_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3) { + return 0; +} + +struct __lcd_panel netease_t50p37_panel = { + /* panel driver name, must mach the lcd_drv_name in sys_config.fex */ + .name = "NETEASE_T50P37", + .func = + { + .cfg_panel_info = LCD_cfg_panel_info, + .cfg_open_flow = LCD_open_flow, + .cfg_close_flow = LCD_close_flow, + .lcd_user_defined_func = LCD_user_defined_func, + }, +}; + +static void lcd_panel_t50p37_init(void) { + pr_debug("Begin to init t50p37 in prdebug\n"); + WriteComm(0x11); + Delay(120); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x10); + + WriteComm(0xC0); + WriteData(0xE9); + WriteData(0x03); + + WriteComm(0xC1); + WriteData(0x11); + WriteData(0x02); + + WriteComm(0xC2); + WriteData(0x01); + WriteData(0x03); ////08 + + WriteComm(0xCC); + WriteData(0x10); + + WriteComm(0xB0); + WriteData(0x00); + WriteData(0x0D); + WriteData(0x14); + WriteData(0x0E); + WriteData(0x11); + WriteData(0x07); + WriteData(0x44); + WriteData(0x08); + WriteData(0x08); + WriteData(0x60); + WriteData(0x03); + WriteData(0x11); + WriteData(0x10); + WriteData(0x2D); + WriteData(0x34); + WriteData(0x1F); + + WriteComm(0xB1); + WriteData(0x00); + WriteData(0x0C); + WriteData(0x13); + WriteData(0x0D); + WriteData(0x10); + WriteData(0x05); + WriteData(0x43); + WriteData(0x08); + WriteData(0x07); + WriteData(0x60); + WriteData(0x04); + WriteData(0x11); + WriteData(0x10); + WriteData(0x2D); + WriteData(0x34); + WriteData(0x1F); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x11); + + WriteComm(0xB0); + WriteData(0x67); + WriteComm(0xB1); + WriteData(0x66); + + WriteComm(0xB2); + WriteData(0x87); ////07 + + WriteComm(0xB3); + WriteData(0x80); + + WriteComm(0xB5); + WriteData(0x45); + + WriteComm(0xB7); + WriteData(0x85); + + WriteComm(0xB8); + WriteData(0x21); + + WriteComm(0xB9); + WriteData(0x10); + + WriteComm(0xC0); + WriteData(0x03); + + WriteComm(0xC1); + WriteData(0x78); + + WriteComm(0xC2); + WriteData(0x78); + + WriteComm(0xD0); + WriteData(0x88); + Delay(100); + + WriteComm(0xE0); + WriteData(0x00); + WriteData(0x00); + WriteData(0x02); + + WriteComm(0xE1); + WriteData(0x08); + WriteData(0x00); + WriteData(0x0A); + WriteData(0x00); + WriteData(0x07); + WriteData(0x00); + WriteData(0x09); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE2); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + + WriteComm(0xE3); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE4); + WriteData(0x44); + WriteData(0x44); + + WriteComm(0xE5); + WriteData(0x0E); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x10); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0A); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0C); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + + WriteComm(0xE6); + WriteData(0x00); + WriteData(0x00); + WriteData(0x33); + WriteData(0x33); + + WriteComm(0xE7); + WriteData(0x44); + WriteData(0x44); + + WriteComm(0xE8); + WriteData(0x0D); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0F); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x09); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + WriteData(0x0B); + WriteData(0x2D); + WriteData(0xA0); + WriteData(0xA0); + + WriteComm(0xEB); + WriteData(0x02); + WriteData(0x01); + WriteData(0xE4); + WriteData(0xE4); + WriteData(0x44); + WriteData(0x00); + WriteData(0x40); + + WriteComm(0xEC); + WriteData(0x02); + WriteData(0x01); + + WriteComm(0xED); + WriteData(0xAB); + WriteData(0x89); + WriteData(0x76); + WriteData(0x54); + WriteData(0x01); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0xFF); + WriteData(0x10); + WriteData(0x45); + WriteData(0x67); + WriteData(0x98); + WriteData(0xBA); + + WriteComm(0xFF); + WriteData(0x77); + WriteData(0x01); + WriteData(0x00); + WriteData(0x00); + WriteData(0x00); + + WriteComm(0x3a); + WriteData(0x77); + WriteComm(0x29); + Delay(100); + pr_debug("Init lcd finish!\n"); +} diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.h b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.h new file mode 100755 index 000000000..557a9d82f --- /dev/null +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/netease_t50p37.h @@ -0,0 +1,18 @@ +/* + * Allwinner SoCs display driver. + * + * Copyright (C) 2016 Allwinner. + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +#ifndef __T50P37_PANEL_H__ +#define __T50P37_PANEL_H__ + +#include "panels.h" + +extern struct __lcd_panel netease_t50p37_panel; + +#endif diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c index 25156c1e6..3fa39d0e0 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c @@ -32,6 +32,7 @@ struct __lcd_panel *panel_array[] = { #endif /* add new panel below */ &WilliamLcd_panel, + &netease_t50p37_panel, NULL, }; diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h index ceb987ee7..a131ff09f 100755 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h @@ -91,5 +91,6 @@ extern struct __lcd_panel lq101r1sx03_panel; extern struct __lcd_panel WilliamLcd_panel; extern struct __lcd_panel tm_dsi_panel; extern struct __lcd_panel ili9881c_dsi_panel; +extern struct __lcd_panel netease_t50p37_panel; #endif diff --git a/package/allwinner/libs/libhwdisplay/src/hwdisplay.c b/package/allwinner/libs/libhwdisplay/src/hwdisplay.c index 5056bd1fa..aec00a524 100755 --- a/package/allwinner/libs/libhwdisplay/src/hwdisplay.c +++ b/package/allwinner/libs/libhwdisplay/src/hwdisplay.c @@ -14,7 +14,7 @@ ** See the License for the specific language governing permissions and ** limitations under the License. */ -#include +//#include //#include #include #include @@ -62,6 +62,10 @@ static int mCurLayerCnt; #endif static struct hwdisp_mgr g_disp_mgr; +#define LOGD printf +#define LOGE printf +#define LOGI printf +#define LOGW printf int hw_display_init() { diff --git a/package/netease/netease_test/Makefile b/package/netease/netease_test/Makefile index 3f9d1548a..2b80d7928 100644 --- a/package/netease/netease_test/Makefile +++ b/package/netease/netease_test/Makefile @@ -14,7 +14,7 @@ define Package/$(PKG_NAME) CATEGORY:=Netease TITLE:=Netease test main program MAINTAINER:=Wang zijiao - DEPENDS:=+libjansson +libspeex +alsa-lib +libcae +libjson-c +libyunxin $(MAKE_COMMON_DEPEND) + DEPENDS:=+liblog +libhwdisplay +libjansson +libspeex +alsa-lib +libcae +libjson-c +libyunxin $(MAKE_COMMON_DEPEND) endef define Package/$(PKG_NAME)/description diff --git a/package/netease/netease_test/src/Makefile b/package/netease/netease_test/src/Makefile index 16b637b4e..2d53ffbf5 100644 --- a/package/netease/netease_test/src/Makefile +++ b/package/netease/netease_test/src/Makefile @@ -1,5 +1,5 @@ include $(TINA_BUILD_TOP)/package/netease/Makefile.common -LIBS += -lnim -lasound -ldl -lrt -ls2json -ljansson $(BUILD_COMMON_LIB) +LIBS += -lhwdisplay -lnim -lasound -ldl -lrt -ls2json -ljansson $(BUILD_COMMON_LIB) MW_DIR= ./ diff --git a/package/netease/netease_test/src/fbtest.c b/package/netease/netease_test/src/fbtest.c new file mode 100644 index 000000000..58b33be4d --- /dev/null +++ b/package/netease/netease_test/src/fbtest.c @@ -0,0 +1,537 @@ +/****************************************************************************** + * fbtest - fbtest.c + * test program for the tuxbox-framebuffer device + * tests all GTX/eNX supported modes + * + * (c) 2003 Carsten Juttner (carjay@gmx.net) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * The Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + ****************************************************************************** + * $Id: fbtest.c,v 1.5 2005/01/14 23:14:41 carjay Exp $ + ******************************************************************************/ + +// TODO: - should restore the colour map and mode to what it was before +// - is colour map handled correctly? + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define FBDEV "/dev/fb0" + +struct vidsize{ + int width; + int height; +}; + +static +const struct vidsize vidsizetable[]={ // all supported sizes + //{1280,800}, + {480, 854}, + //{720, 576}, {720, 480}, {720, 288}, {720, 240}, + //{640, 576}, {640, 480}, {640, 288}, {640, 240}, + //{360, 576}, {360, 480}, {360, 288}, {360, 240}, + //{320, 576}, {320, 480}, {320, 288}, {320, 240} +}; +#define VIDSIZENUM (sizeof(vidsizetable)/sizeof(struct vidsize)) + +enum pixenum{ // keep in sync with pixname ! + CLUT4=0, + CLUT8, + RGB565, + ARGB1555, + ARGB +}; +const char *pixname[] = { + "CLUT4", + "CLUT8", + "RGB565", + "ARGB1555", + "ARGB" +}; + +struct pixelformat{ + char *name; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + char bpp; + char pixenum; +}; + +static // so far these are all modes supported by the eNX (only partially by GTX) +const struct pixelformat pixelformattable[] = { + //{ .name = "CLUT4 ARGB8888", // CLUT4 (ARGB8888) + // .bpp = 4, .pixenum = CLUT4, + // .red = { .offset = 0, .length=8, .msb_right =0 }, + // .green = { .offset = 0, .length=8, .msb_right =0 }, + // .blue = { .offset = 0, .length=8, .msb_right =0 }, + // .transp= { .offset = 0, .length=8, .msb_right =0 } + //}, + + //{ .name = "CLUT4 ARGB1555", // CLUT4 (ARGB1555) + // .bpp = 4, .pixenum = CLUT4, + // .red = { .offset = 0, .length=5, .msb_right =0 }, + // .green = { .offset = 0, .length=5, .msb_right =0 }, + // .blue = { .offset = 0, .length=5, .msb_right =0 }, + // .transp= { .offset = 0, .length=1, .msb_right =0 } + //}, + + //{ .name = "CLUT8 ARGB8888", // CLUT8 (ARGB8888) + // .bpp = 8, .pixenum = CLUT8, + // .red = { .offset = 0, .length=8, .msb_right =0 }, + // .green = { .offset = 0, .length=8, .msb_right =0 }, + // .blue = { .offset = 0, .length=8, .msb_right =0 }, + // .transp= { .offset = 0, .length=8, .msb_right =0 } + //}, + + //{ .name = "CLUT8 ARGB1555", // CLUT8 (ARGB1555) + // .bpp = 8, .pixenum = CLUT8, + // .red = { .offset = 0, .length=5, .msb_right =0 }, + // .green = { .offset = 0, .length=5, .msb_right =0 }, + // .blue = { .offset = 0, .length=5, .msb_right =0 }, + // .transp= { .offset = 0, .length=1, .msb_right =0 } + //}, + + // 2017/12/15 18:13 ֻ�к� �� �� + //{ .name = "ARGB1555", // ARGB1555 + // .bpp = 16, .pixenum = ARGB1555, + // .red = { .offset = 10, .length=5, .msb_right =0 }, + // .green = { .offset = 5, .length=5, .msb_right =0 }, + // .blue = { .offset = 0, .length=5, .msb_right =0 }, + // .transp= { .offset = 15, .length=1, .msb_right =0 } + //}, + + // 2017/12/15 18:21 �� �� �� �� �� + { .name = "RGB565", // RGB565 + .bpp = 16, .pixenum = RGB565, + .red = { .offset = 11, .length=5, .msb_right =0 }, + .green = { .offset = 5, .length=6, .msb_right =0 }, + .blue = { .offset = 0, .length=5, .msb_right =0 }, + .transp= { .offset = 0, .length=0, .msb_right =0 } + }, + + // 2017/12/15 17:57 ֻ�л� �� ��������ɫ + //{ .name = "ARGB", // 32 f*cking bits, the real McCoy :) + // .bpp = 32, .pixenum = ARGB, + // .red = { .offset = 16, .length=8, .msb_right =0 }, + // .green = { .offset = 8, .length=8, .msb_right =0 }, + // .blue = { .offset = 0, .length=8, .msb_right =0 }, + // .transp= { .offset = 24, .length=8, .msb_right =0 } + //}, +}; +#define PIXELFORMATNUM (sizeof(pixelformattable)/sizeof(struct pixelformat)) + +struct colour { + __u16 r; + __u16 g; + __u16 b; + __u16 a; +}; + +// 2017/12/15 18:21 �� �� �� �� �� +static struct colour colourtable[] = { + {.r =0xffff, .g = 0xffff, .b=0xffff, .a=0xffff}, // fully transparent white + {.r =0xffff, .g = 0x0000, .b=0x0000, .a=0x0000}, // red + {.r =0x0000, .g = 0xffff, .b=0x0000, .a=0x0000}, // green + {.r =0x0000, .g = 0x0000, .b=0xffff, .a=0x0000}, // blue + {.r =0x0000, .g = 0x0000, .b=0x0000, .a=0x0000} // black +}; +#define COLOURNUM (sizeof(colourtable)/sizeof(struct colour)) + +struct rect +{ + int x; + int y; + int width; + int height; + const struct colour *col; +}; + +struct pixel +{ + // up to 32 bits of pixel information + char byte[4]; +}; + +void col2pixel (struct pixel *pix, const struct pixelformat *pixf, const struct colour *col){ + switch (pixf->pixenum) + { + case RGB565: + pix->byte[0]=(col->r&0xf8)|(col->g&0xfc)>>5; + pix->byte[1]=(col->g&0xfc)<<3|(col->b&0xf8)>>3; + break; + case ARGB1555: + pix->byte[0]=(col->a&0x80)|(col->r&0xf8)>>1|(col->g&0xf8)>>6; + pix->byte[1]=(col->g&0xf8)<<2|(col->b&0xf8)>>3; + break; + case ARGB: + pix->byte[0]=col->a; + pix->byte[1]=col->r; + pix->byte[2]=col->g; + pix->byte[3]=col->b; + break; + default: + printf ("unknown pixelformat\n"); + exit(1); + } +} + +int setmode(int fbd, const struct pixelformat *pixf,const struct vidsize *vids){ + struct fb_var_screeninfo var; + int stat; + stat = ioctl (fbd, FBIOGET_VSCREENINFO,&var); + + if (stat<0) + { + return -2; + } + + var.xres= vids->width; + var.xres_virtual = vids->width; + var.yres= vids->height; + var.yres_virtual = vids->height; + + var.bits_per_pixel = pixf->bpp; + var.red = pixf->red; + var.green = pixf->green; + var.blue = pixf->blue; + var.transp = pixf->transp; + + stat = ioctl (fbd, FBIOPUT_VSCREENINFO,&var); + if (stat<0) + { + return -1; + } + + return 0; +} + +// unefficient implementation, do NOT use it for your next ego shooter, please :) +// for 4-Bit only rectangles with even width are supported +// CLUT-modes use value of red component as index +void drawrect(void *videoram, struct rect *r, const struct pixelformat *pixf, const struct vidsize *vids){ + int x,y,corwidth, bpp = 0, tocopy = 1; + struct pixel pix; + unsigned char *pmem = videoram; + corwidth = r->width; // actually only "corrected" for 4 Bit + + if (pixf->pixenum!=CLUT4&&pixf->pixenum!=CLUT8){ + switch (pixf->pixenum){ + case ARGB1555: + case RGB565: + bpp = 16; + tocopy = 2; + break; + case ARGB: + bpp = 32; + tocopy = 4; + break; + default: + printf ("drawrect: unknown pixelformat(%d) bpp:%d\n",pixf->pixenum,pixf->bpp); + exit(1); + } + col2pixel(&pix,pixf,r->col); + } + else + { + switch (pixf->pixenum){ // CLUT = Colour LookUp Table (palette) + case CLUT4: // take red value as index in this case + pix.byte[0]=(r->col->r)<<4|(r->col->r&0xf); // slightly cryptic... "rect->colour->red" + corwidth>>=1; // we copy bytes + bpp=4; + tocopy=1; + break; + case CLUT8: + pix.byte[0]=(r->col->r&0xff); + bpp=8; + tocopy=1; + break; + } + } + + pmem=videoram+((((r->y*vids->width)+r->x)*bpp)>>3); + for (y=0;yheight;y++) + { + int offset = 0; + for (x=0;xwidth*bpp)>>3); // skip one whole line, actually should be taken from "fix-info" + } +} + +// create quick little test image, 4 colours from table +void draw4field(void *videoram, const struct pixelformat *pixf, const struct vidsize *vids) +{ + struct rect r; + struct colour c; + int height, width; + c.r = 1; // only used for the indexed modes, r is taken as index + height = vids->height; + width = vids->width; + static int iNum = 0; + + //r.height = height>>1; + //r.width = width>>1; + r.height = height; + r.width = width; + r.x = 0; + r.y = 0; + if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) + { + r.col = &c; + } + else + { + //r.col = &colourtable[1]; + r.col = &colourtable[iNum]; + } + drawrect (videoram, &r, pixf, vids); + + iNum++; + if(5==iNum) + { + iNum = 0; + } + + //r.x = width/2; + //r.y = 0; + //if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) + //{ + // c.r = 2; + //} + //else + //{ + // r.col = &colourtable[2]; + //} + //drawrect (videoram, &r, pixf, vids); + // + //r.x = 0; + //r.y = height/2; + //if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) + //{ + // c.r = 3; + //} + //else + //{ + // r.col = &colourtable[3]; + //} + //drawrect (videoram, &r, pixf, vids); + // + //r.x = width/2; + //r.y = height/2; + //if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) + //{ + // c.r = 0; + //} + //else + //{ + // r.col = &colourtable[0]; + //} + //drawrect (videoram, &r, pixf, vids); +} + +void usage(char *name){ + printf ("Usage: %s [options]\n" + "Options: -f\n" + " where format is one of:\n" + " CLUT4,CLUT8,ARGB1555,RGB565,ARGB\n" + " -sx\n" + " where width is either 720,640,360,320\n" + " and height is either 288,240,480,576\n" + " -n\n" + " disables clearing the framebuffer after drawing\n" + " the testimage. This can be useful to keep the last\n" + " drawn image onscreen.\n" + "\nExample: %s -fRGB322\n",name,name); + exit(0); +} + +void fbtest (){ + int argc; + char **aragv; + struct fb_fix_screeninfo fix; + struct fb_var_screeninfo var; + struct fb_cmap cmap; + struct rect r; + int fbd; + unsigned char *pfb; + int stat; + int optchar,fmode=-1,smode=-1,clear=0; + int i_cmap,i_size,i_pix; + extern char *optarg; + + fbd = open (FBDEV, O_RDWR); + if (fbd<0) + { + perror ("Error opening framebuffer device"); + + return 1; + } + printf("**** wyb %s-%d-%s opening framebuffer device success!\n", __FILE__, __LINE__, __func__); + + stat = ioctl (fbd, FBIOGET_FSCREENINFO, &fix); + if (stat<0) + { + perror ("Error getting fix screeninfo"); + + return 1; + } + printf("**** wyb %s-%d-%s getting fix screeninfo success!\n", __FILE__, __LINE__, __func__); + + stat = ioctl (fbd, FBIOGET_VSCREENINFO, &var); + if (stat<0) + { + perror ("Error getting var screeninfo"); + + return 1; + } + printf("**** wyb %s-%d-%s getting var screeninfo success!\n", __FILE__, __LINE__, __func__); + + stat = ioctl (fbd, FBIOPUT_VSCREENINFO, &var); + if (stat<0) + { + perror ("Error setting mode"); + + return 1; + } + printf("**** wyb %s-%d-%s setting mode success!\n", __FILE__, __LINE__, __func__); + + pfb = mmap (0, fix.smem_len, PROT_READ|PROT_WRITE, MAP_SHARED, fbd, 0); + if (pfb == MAP_FAILED) + { + perror ("Error mmap'ing framebuffer device"); + + return 1; + } + printf("**** wyb %s-%d-%s mmap'ing framebuffer device success!\n", __FILE__, __LINE__, __func__); + + // iterate over all modes + for (i_pix=0; i_pix #include #include +#include #define IS31FL3732A_FRAME_SIZE (144) #define IS31FL3732A_FRAME_NUM (8) @@ -36,6 +37,10 @@ struct i2c_ioctl_msg { #define ADAU1761_MISC_CODEC 1 #define PROG_CMD_I2CSET 2 #define PROG_CMD_I2CGET 3 +#define TEST_LCD 4 +#define FBTEST 5 + +extern void fbtest (); int main(int argc, char *argv[]) { @@ -48,6 +53,7 @@ int main(int argc, char *argv[]) char *path = "/dev/is31fl3732a"; int index; int val; + int screen; printf("argv1 is cmd, argv2 is para.\n"); @@ -68,6 +74,19 @@ int main(int argc, char *argv[]) printf("cmd %u, para %lu.\n", cmd, para); switch(cmd) { + case FBTEST: + fbtest (); + break; + case TEST_LCD: + screen = 0; + val = 1; + printf("Begin to test lcd! ret:%d\n", hw_display_init()); + + printf("Enable screen:%d, val:%d, ret:%d\n", screen, val, hwd_set_outputtype(screen, val)); + + hw_display_deinit(); + printf("Init finish!\n"); + break; case ADAU1761_MISC_CODEC: path = "/dev/adau1761"; fd = open(path, O_RDWR); diff --git a/package/netease/submodules b/package/netease/submodules index 0bb64ed8e..a2ebc69e6 160000 --- a/package/netease/submodules +++ b/package/netease/submodules @@ -1 +1 @@ -Subproject commit 0bb64ed8e24026e3a0a1822646398778f7e6f0ae +Subproject commit a2ebc69e64ca881b3b2c7dbd069766595ed67fe9 diff --git a/target/allwinner/mandolin-c1evb/config-4.9 b/target/allwinner/mandolin-c1evb/config-4.9 index e29258f75..671460284 100644 --- a/target/allwinner/mandolin-c1evb/config-4.9 +++ b/target/allwinner/mandolin-c1evb/config-4.9 @@ -85,6 +85,9 @@ CONFIG_AW_BMU1760=y CONFIG_AW_PMU1736=y # CONFIG_AXP_ARISC_TWI_USED is not set # CONFIG_AXP_TWI_USED is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_BACKLIGHT_PWM is not set CONFIG_BCMDHD=m CONFIG_BCMDHD_FW_PATH="/lib/firmware/fw_bcmdhd.bin" CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/nvram.txt" @@ -283,7 +286,7 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_DISP2_LCD_ESD_DETECT is not set CONFIG_DISP2_SUNXI=y -# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +CONFIG_DISP2_SUNXI_BOOT_COLORBAR=y CONFIG_DISP2_SUNXI_COMPOSER=y CONFIG_DISP2_SUNXI_DEBUG=y CONFIG_DMADEVICES=y @@ -323,6 +326,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_CMDLINE=y CONFIG_FB_CONSOLE_SUNXI=y CONFIG_FB_NOTIFY=y +CONFIG_FB_TILEBLITTING=y CONFIG_FHANDLE=y # CONFIG_FIQ_DEBUGGER is not set # CONFIG_FIQ_WATCHDOG is not set @@ -542,6 +546,7 @@ CONFIG_KEYBOARD_NETEASE_C1EVB=y # CONFIG_KEYBOARD_SUN4I_LRADC is not set CONFIG_KEYBOARD_SUNXI=y # CONFIG_KS7010 is not set +# CONFIG_LCD_CLASS_DEVICE is not set # CONFIG_LEDS_AAT1290 is not set # CONFIG_LEDS_AW2016 is not set CONFIG_LEDS_CLASS_FLASH=y @@ -667,10 +672,7 @@ CONFIG_NO_HZ_IDLE=y CONFIG_NR_CPUS=4 # CONFIG_NVME_TARGET is not set CONFIG_OABI_COMPAT=y -CONFIG_OASES=y -CONFIG_OASES_PERSIST_MEMORY=y -CONFIG_OASES_SIGNATURE_SUPPORT=y -CONFIG_OASES_STATIC_PLTS=y +# CONFIG_OASES is not set CONFIG_OF=y CONFIG_OF_ADDRESS=y CONFIG_OF_EARLY_FLATTREE=y @@ -1065,7 +1067,7 @@ CONFIG_VM_EVENT_COUNTERS=y CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_VT_CONSOLE_SLEEP=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_WATCHDOG is not set # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set diff --git a/target/allwinner/mandolin-c1evb/configs/sys_config.fex b/target/allwinner/mandolin-c1evb/configs/sys_config.fex index 70bdae609..9453fd88a 100755 --- a/target/allwinner/mandolin-c1evb/configs/sys_config.fex +++ b/target/allwinner/mandolin-c1evb/configs/sys_config.fex @@ -494,14 +494,15 @@ disp_init_enable = 1 disp_mode = 0 screen0_output_type = 1 -screen0_output_mode = 4 +screen0_output_mode = 2 +screen0_output_format = 0 screen1_output_type = 1 screen1_output_mode = 4 -fb0_format = 0 -fb0_width = 0 -fb0_height = 0 +fb0_format = 8 +fb0_width = 480 +fb0_height = 854 fb1_format = 0 fb1_width = 0 @@ -553,30 +554,32 @@ lcd1_hue = 50 ;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) ;---------------------------------------------------------------------------------- [lcd0] -lcd_used = 0 +lcd_used = 1 -lcd_driver_name = "default_lcd" -lcd_backlight = 50 -lcd_if = 3 -lcd_x = 1280 -lcd_y = 800 -lcd_width = 150 -lcd_height = 94 -lcd_dclk_freq = 70 +lcd_driver_name = "NETEASE_T50P37" +lcd_backlight = 40 +lcd_if = 0 +lcd_hv_if = 0 +lcd_x = 480 +lcd_y = 854 +lcd_width = 61 +lcd_height = 109 + +lcd_dclk_freq = 33 lcd_pwm_used = 1 lcd_pwm_ch = 0 lcd_pwm_freq = 50000 lcd_pwm_pol = 1 lcd_pwm_max_limit = 255 -lcd_hbp = 20 -lcd_ht = 1418 +lcd_hbp = 60 +lcd_ht = 610 lcd_hspw = 10 -lcd_vbp = 10 -lcd_vt = 814 -lcd_vspw = 5 -lcd_lvds_if = 0 -lcd_lvds_colordepth = 1 -lcd_lvds_mode = 0 +lcd_vbp = 20 +lcd_vt = 898 +lcd_vspw = 4 +;lcd_lvds_if = 0 +;lcd_lvds_colordepth = 1 +;lcd_lvds_mode = 0 lcd_frm = 1 lcd_hv_clk_phase = 0 lcd_hv_sync_polarity= 0 @@ -591,17 +594,38 @@ smart_color = 90 ;lcd_bl_en = port:PD21<1><0><1> lcd_power = "vcc-lcd" -lcdd0 = port:PD00<3><0> -lcdd1 = port:PD01<3><0> -lcdd2 = port:PD02<3><0> -lcdd3 = port:PD03<3><0> -lcdd4 = port:PD04<3><0> -lcdd5 = port:PD05<3><0> -lcdd6 = port:PD06<3><0> -lcdd7 = port:PD07<3><0> -lcdd8 = port:PD08<3><0> -lcdd9 = port:PD09<3><0> +lcdd0 = port:PD00<2><0> +lcdd1 = port:PD01<2><0> +lcdd2 = port:PD02<2><0> +lcdd3 = port:PD03<2><0> +lcdd4 = port:PD04<2><0> +lcdd5 = port:PD05<2><0> +lcdd6 = port:PD06<2><0> +lcdd7 = port:PD07<2><0> +lcdd8 = port:PD08<2><0> +lcdd9 = port:PD09<2><0> +lcdd10 = port:PD10<2><0> +lcdd11 = port:PD11<2><0> +lcdd12 = port:PD12<2><0> +lcdd13 = port:PD13<2><0> +lcdd14 = port:PD14<2><0> +lcdd15 = port:PD15<2><0> +lcdd16 = port:PD16<2><0> +lcdd17 = port:PD17<2><0> +lcdclk = port:PD18<2><0> +lcdde = port:PD19<2><0> +lcdhsync = port:PD20<2><0> +lcdvsync = port:PD21<2><0> +;GPIOS to control spi lcd +;spi cs +lcd_gpio_0 = port:PH4<1><0> +;spi clk +lcd_gpio_1 = port:PH5<1><0> +;spi mosi +lcd_gpio_2 = port:PH6<1><0> +;lcd rst +lcd_gpio_3 = port:PD22<1><0> [lcd0_suspend] lcdd0 = port:PD00<7><0> @@ -615,6 +639,20 @@ lcdd7 = port:PD07<7><0> lcdd8 = port:PD08<7><0> lcdd9 = port:PD09<7><0> +lcdd10 = port:PD10<7><0> +lcdd11 = port:PD11<7><0> +lcdd12 = port:PD12<7><0> +lcdd13 = port:PD13<7><0> +lcdd14 = port:PD14<7><0> +lcdd15 = port:PD15<7><0> +lcdd16 = port:PD16<7><0> +lcdd17 = port:PD17<7><0> + +lcdclk = port:PD18<7><0> +lcdde = port:PD19<7><0> +lcdhsync = port:PD20<7><0> +lcdvsync = port:PD21<7><0> + [lcd1] lcd_used = 0 @@ -651,7 +689,7 @@ lcdgamma4iep = 22 smart_color = 90 ;lcd_bl_en = port:PD29<1><0><1> -lcd_pin_power = "vcc-pd" +;lcd_pin_power = "vcc-pd" lcd_power = "vcc-lcd" lcdd2 = port:PD00<2><0> @@ -711,7 +749,7 @@ hdmi_used = 0 ;pwm config ;---------------------------------------------------------------------------------- [pwm0] -pwm_used = 0 +pwm_used = 1 pwm_positive = port:PD23<2><0> [pwm0_suspend] @@ -1406,7 +1444,7 @@ regulator19 = "pmu1736_cldo2 none " regulator20 = "pmu1736_cldo3 none " regulator21 = "pmu1736_cldo4 none " regulator22 = "pmu1736_cpusldo none vdd-cpus" -regulator23 = "pmu1736_dc1sw none " +regulator23 = "pmu1736_dc1sw none vcc-lcd" ;-------------------------------------------------------------------------------------------------------- ;compatible ---axp_gpio0 name, support:axp803-gpio diff --git a/target/allwinner/mandolin-c1evb/defconfig b/target/allwinner/mandolin-c1evb/defconfig index 9f8454a70..be871f812 100755 --- a/target/allwinner/mandolin-c1evb/defconfig +++ b/target/allwinner/mandolin-c1evb/defconfig @@ -1388,10 +1388,10 @@ CONFIG_PACKAGE_wireless-tools=y # # CONFIG_PACKAGE_libVideoStabilization is not set CONFIG_PACKAGE_libcutils=y -# CONFIG_PACKAGE_libhwdisplay is not set +CONFIG_PACKAGE_libhwdisplay=y # CONFIG_PACKAGE_libion is not set # CONFIG_PACKAGE_libkfc is not set -# CONFIG_PACKAGE_liblog is not set +CONFIG_PACKAGE_liblog=y # CONFIG_PACKAGE_libluaconfig is not set # @@ -1978,7 +1978,12 @@ CONFIG_PACKAGE_kmod-sunxi-disp=y # CONFIG_PACKAGE_kmod-sunxi-tv is not set # CONFIG_PACKAGE_kmod-sunxi-uvc is not set # CONFIG_PACKAGE_kmod-sunxi-vin is not set -# CONFIG_PACKAGE_kmod-video-core is not set +CONFIG_PACKAGE_kmod-video-core=y +# CONFIG_PACKAGE_kmod-video-cpia2 is not set +# CONFIG_PACKAGE_kmod-video-gspca-core is not set +# CONFIG_PACKAGE_kmod-video-pwc is not set +# CONFIG_PACKAGE_kmod-video-uvc is not set +# CONFIG_PACKAGE_kmod-video-videobuf2 is not set # # Virtualization Support @@ -2422,7 +2427,7 @@ CONFIG_PACKAGE_bluez-libs=y # CONFIG_PACKAGE_directfb is not set # CONFIG_PACKAGE_enchant is not set # CONFIG_PACKAGE_gdk-pixbuf is not set -# CONFIG_PACKAGE_glog is not set +CONFIG_PACKAGE_glog=y # CONFIG_PACKAGE_granite is not set # CONFIG_PACKAGE_harfbuzz is not set # CONFIG_PACKAGE_icu is not set @@ -2886,7 +2891,7 @@ CONFIG_TTF2_SUPPORT=y # # libs # -# CONFIG_PACKAGE_libcae is not set +CONFIG_PACKAGE_libcae=y CONFIG_PACKAGE_libduilite=y # @@ -2931,7 +2936,7 @@ CONFIG_RES_NORMAL_MODE=y # CONFIG_PACKAGE_log_ctrl is not set # CONFIG_PACKAGE_mcu_ota is not set CONFIG_PACKAGE_netease_control_center=y -# CONFIG_PACKAGE_netease_test is not set +CONFIG_PACKAGE_netease_test=y CONFIG_PACKAGE_netease_voice=y # @@ -3377,8 +3382,884 @@ CONFIG_TINATEST_SYS_LOCAL_LIMIT_TIMEOUT_WITH_PASS=y # # Settings For TESTCASES # -# CONFIG_TINATEST_DEMO is not set -# CONFIG_TINATEST_BASE is not set +CONFIG_TINATEST_DEMO=y +CONFIG_TINATEST_DEMO_DEMO_SH_ENABLE=y +CONFIG_TINATEST_DEMO_DEMO_SH_COMMAND="demo-sh.sh" +CONFIG_TINATEST_DEMO_DEMO_SH_STDIN="" +CONFIG_TINATEST_DEMO_DEMO_SH_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_DEMO_DEMO_SH_INFO is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_DEMO_DEMO_SH_LIMIT is not set +CONFIG_TINATEST_DEMO_DEMO_C_ENABLE=y +CONFIG_TINATEST_DEMO_DEMO_C_COMMAND="demo-c" +CONFIG_TINATEST_DEMO_DEMO_C_STDIN="" +CONFIG_TINATEST_DEMO_DEMO_C_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_DEMO_DEMO_C_INFO is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_DEMO_DEMO_C_LIMIT is not set +CONFIG_TINATEST_BASE=y +CONFIG_TINATEST_BASE_PRODUCTION=y +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_COMMAND="otgtester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_INFO is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_TESTCASE_RUN_ONCE_TIME="10" +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_USB_COUNT=1 +CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_USBCTLER="usb3" +CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_COMMAND="cameratester" +CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_INFO is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_LIMIT is not set +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_COMMAND="hosttester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_INFO is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_TESTCASE_RUN_ONCE_TIME="10" +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_USB_COUNT=1 +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_COMMAND="bttester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_MODULE_PATH="/lib/firmware/bcm43438a0.hcd" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_DEVICE_NODE="/dev/ttyS1" +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_BAUD_RATE=1500000 +CONFIG_TINATEST_BASE_PRODUCTION_BTTESTER_MAX_TEST_TIMES=5 +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_COMMAND="ethtester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_ETHTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_COMMAND="mictester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RECORD_DURATION_SEC=10 +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_RECORD_AUDIO_PATH="/tmp/mictester_record.wav" +CONFIG_TINATEST_BASE_PRODUCTION_MICTESTER_HEADPHONE_VOLUME=35 +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_COMMAND="sdcardtester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_INFO is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_TESTCASE_RUN_ONCE_TIME="0 2" +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_COMMAND="nandtester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_INFO is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_LIMIT is not set +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_COMMAND="tptester" +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TESTCASE_RUN_ONCE_TIME="10" +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TP_NAME="gt82x" +CONFIG_TINATEST_BASE_PRODUCTION_TPTESTER_TOUCH_TIMES=3 +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_COMMAND="pmutester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_RUN_TIMES="" +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_PMUTESTER_AXP_NAME="axp803" +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_COMMAND="udisktester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_TESTCASE_RUN_ONCE_TIME="0 2" +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_UDISKTESTER_USB_COUNT=1 +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_COMMAND="keytester" +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_INFO is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_TESTCASE_RUN_ONCE_TIME="25" +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_NUMBER_OF_KEYS=2 +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_COMMAND="rtctester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_RUN_TIMES="" +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_RTCTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_WIFI=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_COMMAND="wifitester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_WIFITESTER_MAX_TEST_TIMES=3 +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_COMMAND="rt_wifitester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_WIFI_RT_WIFITESTER_MAX_TEST_TIMES=3 +CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_COMMAND="emmctester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_FSTDIN="" + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_INFO is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_LIMIT is not set +CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_CAN_FORMAT=y +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_COMMAND="excodectester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RECORD_DURATION_SEC=10 +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_RECORD_AUDIO_PATH="/tmp/excodec_record.wav" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_AUDIO_FILE="/usr/lib/tt-data/s16le_44100_stereo.wav" +CONFIG_TINATEST_BASE_PRODUCTION_EXCODECTESTER_HEADPHONE_VOLUME=40 +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_COMMAND="headphonetester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_HEADPHONE_VOLUME=35 +CONFIG_TINATEST_BASE_PRODUCTION_HEADPHONETESTER_AUDIO_FILE="/usr/lib/tt-data/s16le_44100_stereo.wav" +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_COMMAND="satatester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +# CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_LIMIT is not set +# CONFIG_TINATEST_BASE_PRODUCTION_SATATESTER_FORMAT is not set +# CONFIG_TINATEST_BASE_PRODUCTION_BATTERYTESTER_ENABLE is not set +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_COMMAND="lineintester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_HEADPHONE_VOLUME=35 +CONFIG_TINATEST_BASE_PRODUCTION_LINEINTESTER_DURATION_SEC=5 +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_COMMAND="led_test" +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_TESTCASE_RUN_ONCE_TIME="10" +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDARRAYTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_HDMITESTER_ENABLE is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_COMMAND="brightnesstester" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_SCREEN_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_BRIGHTNESSTESTER_BRIGHTNESS=80 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_COMMAND="smartbacklighttester" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTBACKLIGHTTESTER_SCREEN_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_COMMAND="fbviewertester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBVIEWERTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_COMMAND="fbshottester" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBSHOTTESTER_FB_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_COMMAND="capturetester" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_SCREEN_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_LAYER_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_CHANNEL_ID=1 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_CAPTURETESTER_LAYER_NUM=1 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_COMMAND="fbtester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_FBTESTER_EXIT_ONCE_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_YUVIEWTESTER_ENABLE is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_COMMAND="smartcolortester" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_SCREEN_ID=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_ENHANCE_ENABLE=1 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_ENHANCE_MODE=8 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_BRIGHT=50 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_CONTRAST=50 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_SATURATION=50 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_HUE=50 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_WINDOW_X=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_WINDOW_Y=0 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_WINDOW_WIDTH=480 +CONFIG_TINATEST_BASE_PRODUCTION_DISPLAYTESTER_SMARTCOLORTESTER_WINDOW_HEIGHT=854 +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_ENABLE=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_COMMAND="ledstester.sh" +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_STDIN="" +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_INFO=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_DATE=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_RESOURCE=y +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_LIMIT=y +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_TESTCASE_RUN_ONCE_TIME="20" +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_PRODUCTION_LEDSTESTER_EXIT_ONCE_FAILED is not set +# CONFIG_TINATEST_BASE_STORAGE is not set +CONFIG_TINATEST_BASE_AUDIO=y +CONFIG_TINATEST_BASE_AUDIO_CODEC=y +# CONFIG_TINATEST_BASE_AUDIO_CODEC_PLAYBACK_BITS_SUPPORTED_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_PLAYBACK_RATE_SUPPORTED_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_PLAYBACK_RATE_VERIFY_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_CAPTURE_BITS_SUPPORTED_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_CAPTURE_RATE_SUPPORTED_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_HEADPHONE_PLAYBACK_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_HEADPHONE_VOLUME_ADJUST_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_SPEAKER_PLAYBACK_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_SPEAKER_VOLUME_ADJUST_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_LINEOUT_PLAYBACK_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_LINEOUT_VOLUME_ADJUST_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_MIC_CAPTURE_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_MIC_VOLUME_ADJUST_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_LINEIN_CAPTURE_ENABLE is not set +# CONFIG_TINATEST_BASE_AUDIO_CODEC_PHONEIN_CAPTURE_ENABLE is not set +CONFIG_TINATEST_BASE_BLUETOOTH_ENABLE=y +CONFIG_TINATEST_BASE_BLUETOOTH_COMMAND="bluetooth.sh" +CONFIG_TINATEST_BASE_BLUETOOTH_STDIN="" +CONFIG_TINATEST_BASE_BLUETOOTH_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_BLUETOOTH_INFO=y +CONFIG_TINATEST_BASE_BLUETOOTH_DATE=y +CONFIG_TINATEST_BASE_BLUETOOTH_RESOURCE=y +# CONFIG_TINATEST_BASE_BLUETOOTH_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_BLUETOOTH_LIMIT=y +CONFIG_TINATEST_BASE_BLUETOOTH_RUN_TIMES="1" +# CONFIG_TINATEST_BASE_BLUETOOTH_RUN_ALONE is not set +# CONFIG_TINATEST_BASE_BLUETOOTH_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_BLUETOOTH_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_BLUETOOTH_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_BLUETOOTH_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_BLUETOOTH_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_BLUETOOTH_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_BLUETOOTH_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_WIFI=y +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_ENABLE=y +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_COMMAND="wifi_scan.sh" +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_STDIN="" +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_INFO=y +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_DATE=y +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_RESOURCE=y +# CONFIG_TINATEST_BASE_WIFI_WIFISCAN_REAL_TIME_LOG is not set + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_LIMIT=y +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_RUN_TIMES="1" +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_RUN_ALONE=y +# CONFIG_TINATEST_BASE_WIFI_WIFISCAN_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_WIFI_WIFISCAN_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_WIFI_WIFISCAN_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_WIFI_WIFISCAN_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_WIFI_WIFISCAN_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_DISPLAY=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_ENABLE=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_COMMAND="displyiftester" +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_STDIN="" +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_FSTDIN="" + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_INFO=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_DATE=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_RESOURCE=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_REAL_TIME_LOG=y + +# +# to Default && to customize +# +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_LIMIT=y +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_RUN_TIMES="1" +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_RUN_ALONE=y +# CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_RUN_PARALLEL is not set +# CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_MAY_REBOOT is not set +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_TESTCASE_RUN_ONCE_TIME="" +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_TESTCASE_RUN_TIME="" +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_TIMEOUT_WITH_PASS=y +# CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_TIMEOUT_WITH_FAILED is not set +# CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_EXIT_ONCE_FAILED is not set +CONFIG_TINATEST_BASE_DISPLAY_DISPLYIFTESTER_SCREEN_ID=0 CONFIG_TINATEST_SPEC=y # CONFIG_TINATEST_SPEC_BENCHMARKS is not set CONFIG_TINATEST_SPEC_STORAGE=y @@ -3590,8 +4471,8 @@ CONFIG_PACKAGE_alsa-utils=y # CONFIG_PACKAGE_alsa-utils-tests is not set # CONFIG_PACKAGE_bluez-daemon is not set # CONFIG_PACKAGE_bluez-examples is not set -# CONFIG_PACKAGE_bluez-utils is not set -# CONFIG_PACKAGE_brcm_patchram_plus is not set +CONFIG_PACKAGE_bluez-utils=y +CONFIG_PACKAGE_brcm_patchram_plus=y # CONFIG_PACKAGE_breakpad-utils is not set # CONFIG_PACKAGE_bsdiff is not set # CONFIG_PACKAGE_bspatch is not set @@ -3609,8 +4490,8 @@ CONFIG_PACKAGE_dbus-utils=y CONFIG_PACKAGE_dmesg=y # CONFIG_PACKAGE_dropbearconvert is not set # CONFIG_PACKAGE_dump1090 is not set -# CONFIG_PACKAGE_fbtest is not set -# CONFIG_PACKAGE_fbviewer is not set +CONFIG_PACKAGE_fbtest=y +CONFIG_PACKAGE_fbviewer=y # CONFIG_PACKAGE_flock is not set CONFIG_PACKAGE_fontconfig=y # CONFIG_PACKAGE_getevent is not set @@ -3626,7 +4507,7 @@ CONFIG_PACKAGE_iozone3=y # CONFIG_PACKAGE_jpeg-tools is not set CONFIG_PACKAGE_jshn=y # CONFIG_PACKAGE_kmod is not set -# CONFIG_PACKAGE_led_test is not set +CONFIG_PACKAGE_led_test=y CONFIG_PACKAGE_libjson-script=y # CONFIG_PACKAGE_lm-sensors is not set # CONFIG_PACKAGE_lm-sensors-detect is not set diff --git a/target/allwinner/mandolin-common/bin/u-boot-sun8iw15p1.bin b/target/allwinner/mandolin-common/bin/u-boot-sun8iw15p1.bin index bffe3b014bbe671724bcc8544ea7a2002180adb1..45d02dfe686b5c827487fa266d16f9a6e120cb74 100755 GIT binary patch delta 176780 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

dTA4FraoHnxoTfYt7tXN`$Fn*kmrXcZ~;jR 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 MyznLS`aco;e>!d6%m4rY