add t50p37 lcd driver in uboot and kernel && some test lcd apps

This commit is contained in:
wangzijiao 2019-01-17 17:24:28 +08:00
parent e6136099d7
commit ee92eeb54c
25 changed files with 2620 additions and 73 deletions

View File

@ -26,7 +26,7 @@ else
disp-objs += lcd/lt070me05000.o lcd/wtq05027d01.o lcd/t27p06.o \ disp-objs += lcd/lt070me05000.o lcd/wtq05027d01.o lcd/t27p06.o \
lcd/dx0960be40a1.o lcd/tft720x1280.o lcd/S6D7AA0X01.o \ lcd/dx0960be40a1.o lcd/tft720x1280.o lcd/S6D7AA0X01.o \
lcd/inet_dsi_panel.o lcd/cpu_gg1p4062utsw.o lcd/vr_sharp.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
endif endif

View File

@ -113,7 +113,7 @@ s32 bsp_disp_get_print_level(void);
#endif #endif
#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) #if defined(CONFIG_FPGA_V4_PLATFORM) || defined(CONFIG_FPGA_V7_PLATFORM) || defined(CONFIG_A67_FPGA)
#define __FPGA_DEBUG__ #define __FPGA_DEBUG__
#endif #endif

View File

@ -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; 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) {
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);
}

View File

@ -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

View File

@ -46,6 +46,7 @@ __lcd_panel_t* panel_array[] = {
&gg1p4062utsw_panel, &gg1p4062utsw_panel,
&vr_sharp_panel, &vr_sharp_panel,
&WilliamLcd_panel, &WilliamLcd_panel,
&netease_t50p37_panel,
#endif #endif
#endif /*endif CONFIG_ARCH_SUN50IW3P1 */ #endif /*endif CONFIG_ARCH_SUN50IW3P1 */

View File

@ -99,6 +99,7 @@ extern __lcd_panel_t tft720x1280_panel;
extern __lcd_panel_t S6D7AA0X01_panel; extern __lcd_panel_t S6D7AA0X01_panel;
extern __lcd_panel_t gg1p4062utsw_panel; extern __lcd_panel_t gg1p4062utsw_panel;
extern __lcd_panel_t vr_sharp_panel; extern __lcd_panel_t vr_sharp_panel;
extern __lcd_panel_t netease_t50p37_panel;
#endif /*endif CONFIG_ARCH_SUN8IW12P1 */ #endif /*endif CONFIG_ARCH_SUN8IW12P1 */
#endif /*endif CONFIG_ARCH_SUN50IW3P1 */ #endif /*endif CONFIG_ARCH_SUN50IW3P1 */

View File

@ -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/dx0960be40a1.o lcd/tft720x1280.o lcd/S6D7AA0X01.o \
lcd/default_eink.o lcd/cpu_gg1p4062utsw.o lcd/ls029b3sx02.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/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) disp-objs += $(obj_low)
ifeq ($(strip $(CONFIG_ARCH_SUN8IW8)),) ifeq ($(strip $(CONFIG_ARCH_SUN8IW8)),)

View File

@ -928,6 +928,7 @@ s32 bsp_disp_set_print_level(u32 print_level)
s32 bsp_disp_get_print_level(void) s32 bsp_disp_get_print_level(void)
{ {
//change by wzj
return gdisp.print_level; return gdisp.print_level;
} }

View File

@ -10,7 +10,6 @@
#ifndef _DISP_INCLUDE_H_ #ifndef _DISP_INCLUDE_H_
#define _DISP_INCLUDE_H_ #define _DISP_INCLUDE_H_
#define __LINUX_PLAT__ #define __LINUX_PLAT__
/* #define __UBOOT_PLAT__ */ /* #define __UBOOT_PLAT__ */

View File

@ -9,6 +9,7 @@
*/ */
#include "dev_disp.h" #include "dev_disp.h"
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#if defined(CONFIG_DEVFREQ_DRAM_FREQ_WITH_SOFT_NOTIFY) #if defined(CONFIG_DEVFREQ_DRAM_FREQ_WITH_SOFT_NOTIFY)
#include <linux/sunxi_dramfreq.h> #include <linux/sunxi_dramfreq.h>
@ -1151,7 +1152,6 @@ static s32 parser_disp_init_para(const struct device_node *np,
{ {
int value; int value;
int i; int i;
memset(init_para, 0, sizeof(struct disp_init_para)); memset(init_para, 0, sizeof(struct disp_init_para));
if (of_property_read_u32(np, "disp_init_enable", &value) < 0) { 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; return -1;
} }
init_para->b_init = value; init_para->b_init = value;
if (of_property_read_u32(np, "disp_mode", &value) < 0) { if (of_property_read_u32(np, "disp_mode", &value) < 0) {
__wrn("of_property_read disp_init.disp_mode fail\n"); __wrn("of_property_read disp_init.disp_mode fail\n");
return -1; 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"); __wrn("of_property_read disp_init.screen0_output_type fail\n");
return -1; return -1;
} }
if (value == 0) { if (value == 0) {
init_para->output_type[0] = DISP_OUTPUT_TYPE_NONE; init_para->output_type[0] = DISP_OUTPUT_TYPE_NONE;
} else if (value == 1) { } 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("fb_height[%d]:%d\n", i, init_para->fb_height[i]);
} }
__inf("====display init para end====\n"); __inf("====display init para end====\n");
return 0; return 0;
} }
@ -1526,7 +1525,6 @@ static void start_work(struct work_struct *work)
int num_screens; int num_screens;
int screen_id; int screen_id;
int count = 0; int count = 0;
num_screens = bsp_disp_feat_get_num_screens(); num_screens = bsp_disp_feat_get_num_screens();
while ((g_disp_drv.inited == 0) && (count < 5)) { while ((g_disp_drv.inited == 0) && (count < 5)) {
count++; 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]; g_disp_drv.disp_init.output_aspect_ratio[para->boot_info.disp];
if (para->boot_info.sync == 1) { 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); para->boot_info.type);
g_disp_drv.disp_init.disp_mode = para->boot_info.disp; g_disp_drv.disp_init.disp_mode = para->boot_info.disp;
g_disp_drv.disp_init.output_type[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); 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; para->boot_info.sync = 0;
*/
num_screens = bsp_disp_feat_get_num_screens(); num_screens = bsp_disp_feat_get_num_screens();
for (disp = 0; disp < num_screens; disp++) for (disp = 0; disp < num_screens; disp++)
g_disp_drv.mgr[disp] = disp_get_layer_manager(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 #ifndef CONFIG_OF
ret = platform_device_register(&disp_device); ret = platform_device_register(&disp_device);
#endif #endif
if (ret == 0) if (ret == 0) {
ret = platform_driver_register(&disp_driver); ret = platform_driver_register(&disp_driver);
}
#ifdef CONFIG_DISP2_SUNXI_DEBUG #ifdef CONFIG_DISP2_SUNXI_DEBUG
dispdbg_init(); dispdbg_init();
#endif #endif

View File

@ -200,18 +200,18 @@ int disp_sys_script_get_item(char *main_name, char *sub_name, int value[],
} }
if (type == 1) { 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", __inf("of_property_read_u32_array %s.%s fail\n",
main_name, sub_name); main_name, sub_name);
else }else
ret = type; ret = type;
} else if (type == 2) { } else if (type == 2) {
const char *str; 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, __inf("of_property_read_string %s.%s fail\n", main_name,
sub_name); sub_name);
else { }else {
ret = type; ret = type;
memcpy((void *)value, str, strlen(str) + 1); memcpy((void *)value, str, strlen(str) + 1);
} }

View File

@ -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 <linux/printk.h>
#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");
}

View File

@ -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

View File

@ -32,6 +32,7 @@ struct __lcd_panel *panel_array[] = {
#endif #endif
/* add new panel below */ /* add new panel below */
&WilliamLcd_panel, &WilliamLcd_panel,
&netease_t50p37_panel,
NULL, NULL,
}; };

View File

@ -91,5 +91,6 @@ extern struct __lcd_panel lq101r1sx03_panel;
extern struct __lcd_panel WilliamLcd_panel; extern struct __lcd_panel WilliamLcd_panel;
extern struct __lcd_panel tm_dsi_panel; extern struct __lcd_panel tm_dsi_panel;
extern struct __lcd_panel ili9881c_dsi_panel; extern struct __lcd_panel ili9881c_dsi_panel;
extern struct __lcd_panel netease_t50p37_panel;
#endif #endif

View File

@ -14,7 +14,7 @@
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
#include <log/log_wrapper.h> //#include <log/log_wrapper.h>
//#include <cutils/properties.h> //#include <cutils/properties.h>
#include <string.h> #include <string.h>
#include <sys/mman.h> #include <sys/mman.h>
@ -62,6 +62,10 @@ static int mCurLayerCnt;
#endif #endif
static struct hwdisp_mgr g_disp_mgr; static struct hwdisp_mgr g_disp_mgr;
#define LOGD printf
#define LOGE printf
#define LOGI printf
#define LOGW printf
int hw_display_init() int hw_display_init()
{ {

View File

@ -14,7 +14,7 @@ define Package/$(PKG_NAME)
CATEGORY:=Netease CATEGORY:=Netease
TITLE:=Netease test main program TITLE:=Netease test main program
MAINTAINER:=Wang zijiao <hzwangzijiao@corp.netease.com> MAINTAINER:=Wang zijiao <hzwangzijiao@corp.netease.com>
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 endef
define Package/$(PKG_NAME)/description define Package/$(PKG_NAME)/description

View File

@ -1,5 +1,5 @@
include $(TINA_BUILD_TOP)/package/netease/Makefile.common 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= ./ MW_DIR= ./

View File

@ -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 <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <linux/fb.h>
#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 ֻ<>к<EFBFBD> <20><> <20><>
//{ .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 <20><> <20><> <20><> <20><> <20><>
{ .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 ֻ<>л<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
//{ .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 <20><> <20><> <20><> <20><> <20><>
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;y<r->height;y++)
{
int offset = 0;
for (x=0;x<corwidth;x++)
{
memcpy (pmem+offset,pix.byte,tocopy);
offset+=tocopy;
}
pmem +=((vids->width*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<pixelformat>\n"
" where format is one of:\n"
" CLUT4,CLUT8,ARGB1555,RGB565,ARGB\n"
" -s<width>x<heigth>\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<PIXELFORMATNUM; i_pix++)
{
printf("**** wyb %s-%d-%s i_pix=%d\n", __FILE__, __LINE__, __func__, i_pix);
//sleep(5);
if (fmode!=-1 && pixelformattable[i_pix].pixenum != fmode)
{
continue;
}
printf ("testing: %s",pixelformattable[i_pix].name);
printf (" for sizes: \n");
for (i_size=0;i_size<VIDSIZENUM;i_size++)
{
if (smode!=-1 && i_size!=smode)
{
continue;
}
printf ("%dx%d ", vidsizetable[i_size].width, vidsizetable[i_size].height);
fflush(stdout);
if ((i_size%4)==3)
{
printf ("\n");
}
// try to set mode
stat = setmode(fbd, &pixelformattable[i_pix], &vidsizetable[i_size]);
if (stat==-2)
{
perror ("fbtest: could not get fb_var-screeninfo from fb-device");
}
else if (stat==-1)
{
printf ("\nCould not set mode %s (%dx%d), possible reasons:\n"
"- you have a GTX (soz m8)\n"
"- your configuration does not have enough graphics RAM\n"
"- you found a bug\n"
"choose your poison accordingly...\n",
pixelformattable[i_pix].name,vidsizetable[i_size].width,vidsizetable[i_size].height);
continue;
}
// fill cmap;
cmap.len = 1;
if ((pixelformattable[i_pix].bpp==4)||((pixelformattable[i_pix].bpp==8)&&(pixelformattable[i_pix].red.length!=3)))
{
for (i_cmap=0; i_cmap<COLOURNUM; i_cmap++)
{
cmap.start=i_cmap;
cmap.red=&colourtable[i_cmap].r;
cmap.green=&colourtable[i_cmap].g;
cmap.blue=&colourtable[i_cmap].b;
cmap.transp=&colourtable[i_cmap].a;
stat = ioctl (fbd, FBIOPUTCMAP, &cmap);
if (stat<0)
{
printf ("setting colourmap failed\n");
}
}
}
// create the test image
//draw4field(pfb, &pixelformattable[i_pix], &vidsizetable[i_size]);
//usleep (500000);
while(1)
{
draw4field(pfb, &pixelformattable[i_pix], &vidsizetable[i_size]);
sleep (1);
}
// clear screen
if (clear)
{
r.x=r.y=0;
r.width = vidsizetable[i_size].width;
r.height = vidsizetable[i_size].height;
r.col = &colourtable[4];
drawrect(pfb,&r,&pixelformattable[i_pix],&vidsizetable[i_size]);
}
}
printf ("\n");
}
stat = munmap (pfb,fix.smem_len);
if (stat<0)
{
perror ("Error munmap'ing framebuffer device");
return 1;
}
close (fbd);
return 0;
}

View File

@ -7,6 +7,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <unistd.h> #include <unistd.h>
#include <vo/hwdisplay.h>
#define IS31FL3732A_FRAME_SIZE (144) #define IS31FL3732A_FRAME_SIZE (144)
#define IS31FL3732A_FRAME_NUM (8) #define IS31FL3732A_FRAME_NUM (8)
@ -36,6 +37,10 @@ struct i2c_ioctl_msg {
#define ADAU1761_MISC_CODEC 1 #define ADAU1761_MISC_CODEC 1
#define PROG_CMD_I2CSET 2 #define PROG_CMD_I2CSET 2
#define PROG_CMD_I2CGET 3 #define PROG_CMD_I2CGET 3
#define TEST_LCD 4
#define FBTEST 5
extern void fbtest ();
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@ -48,6 +53,7 @@ int main(int argc, char *argv[])
char *path = "/dev/is31fl3732a"; char *path = "/dev/is31fl3732a";
int index; int index;
int val; int val;
int screen;
printf("argv1 is cmd, argv2 is para.\n"); 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); printf("cmd %u, para %lu.\n", cmd, para);
switch(cmd) { 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: case ADAU1761_MISC_CODEC:
path = "/dev/adau1761"; path = "/dev/adau1761";
fd = open(path, O_RDWR); fd = open(path, O_RDWR);

@ -1 +1 @@
Subproject commit 0bb64ed8e24026e3a0a1822646398778f7e6f0ae Subproject commit a2ebc69e64ca881b3b2c7dbd069766595ed67fe9

View File

@ -85,6 +85,9 @@ CONFIG_AW_BMU1760=y
CONFIG_AW_PMU1736=y CONFIG_AW_PMU1736=y
# CONFIG_AXP_ARISC_TWI_USED is not set # CONFIG_AXP_ARISC_TWI_USED is not set
# CONFIG_AXP_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=m
CONFIG_BCMDHD_FW_PATH="/lib/firmware/fw_bcmdhd.bin" CONFIG_BCMDHD_FW_PATH="/lib/firmware/fw_bcmdhd.bin"
CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/nvram.txt" CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/nvram.txt"
@ -283,7 +286,7 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DISP2_LCD_ESD_DETECT is not set # CONFIG_DISP2_LCD_ESD_DETECT is not set
CONFIG_DISP2_SUNXI=y 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_COMPOSER=y
CONFIG_DISP2_SUNXI_DEBUG=y CONFIG_DISP2_SUNXI_DEBUG=y
CONFIG_DMADEVICES=y CONFIG_DMADEVICES=y
@ -323,6 +326,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CMDLINE=y CONFIG_FB_CMDLINE=y
CONFIG_FB_CONSOLE_SUNXI=y CONFIG_FB_CONSOLE_SUNXI=y
CONFIG_FB_NOTIFY=y CONFIG_FB_NOTIFY=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FHANDLE=y CONFIG_FHANDLE=y
# CONFIG_FIQ_DEBUGGER is not set # CONFIG_FIQ_DEBUGGER is not set
# CONFIG_FIQ_WATCHDOG 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_SUN4I_LRADC is not set
CONFIG_KEYBOARD_SUNXI=y CONFIG_KEYBOARD_SUNXI=y
# CONFIG_KS7010 is not set # CONFIG_KS7010 is not set
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_LEDS_AAT1290 is not set # CONFIG_LEDS_AAT1290 is not set
# CONFIG_LEDS_AW2016 is not set # CONFIG_LEDS_AW2016 is not set
CONFIG_LEDS_CLASS_FLASH=y CONFIG_LEDS_CLASS_FLASH=y
@ -667,10 +672,7 @@ CONFIG_NO_HZ_IDLE=y
CONFIG_NR_CPUS=4 CONFIG_NR_CPUS=4
# CONFIG_NVME_TARGET is not set # CONFIG_NVME_TARGET is not set
CONFIG_OABI_COMPAT=y CONFIG_OABI_COMPAT=y
CONFIG_OASES=y # CONFIG_OASES is not set
CONFIG_OASES_PERSIST_MEMORY=y
CONFIG_OASES_SIGNATURE_SUPPORT=y
CONFIG_OASES_STATIC_PLTS=y
CONFIG_OF=y CONFIG_OF=y
CONFIG_OF_ADDRESS=y CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_EARLY_FLATTREE=y
@ -1065,7 +1067,7 @@ CONFIG_VM_EVENT_COUNTERS=y
CONFIG_VT=y CONFIG_VT=y
CONFIG_VT_CONSOLE=y CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=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_WATCHDOG is not set
# CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set # CONFIG_WILC1000_SPI is not set

View File

@ -494,14 +494,15 @@ disp_init_enable = 1
disp_mode = 0 disp_mode = 0
screen0_output_type = 1 screen0_output_type = 1
screen0_output_mode = 4 screen0_output_mode = 2
screen0_output_format = 0
screen1_output_type = 1 screen1_output_type = 1
screen1_output_mode = 4 screen1_output_mode = 4
fb0_format = 0 fb0_format = 8
fb0_width = 0 fb0_width = 480
fb0_height = 0 fb0_height = 854
fb1_format = 0 fb1_format = 0
fb1_width = 0 fb1_width = 0
@ -553,30 +554,32 @@ lcd1_hue = 50
;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) ;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch)
;---------------------------------------------------------------------------------- ;----------------------------------------------------------------------------------
[lcd0] [lcd0]
lcd_used = 0 lcd_used = 1
lcd_driver_name = "default_lcd" lcd_driver_name = "NETEASE_T50P37"
lcd_backlight = 50 lcd_backlight = 40
lcd_if = 3 lcd_if = 0
lcd_x = 1280 lcd_hv_if = 0
lcd_y = 800 lcd_x = 480
lcd_width = 150 lcd_y = 854
lcd_height = 94 lcd_width = 61
lcd_dclk_freq = 70 lcd_height = 109
lcd_dclk_freq = 33
lcd_pwm_used = 1 lcd_pwm_used = 1
lcd_pwm_ch = 0 lcd_pwm_ch = 0
lcd_pwm_freq = 50000 lcd_pwm_freq = 50000
lcd_pwm_pol = 1 lcd_pwm_pol = 1
lcd_pwm_max_limit = 255 lcd_pwm_max_limit = 255
lcd_hbp = 20 lcd_hbp = 60
lcd_ht = 1418 lcd_ht = 610
lcd_hspw = 10 lcd_hspw = 10
lcd_vbp = 10 lcd_vbp = 20
lcd_vt = 814 lcd_vt = 898
lcd_vspw = 5 lcd_vspw = 4
lcd_lvds_if = 0 ;lcd_lvds_if = 0
lcd_lvds_colordepth = 1 ;lcd_lvds_colordepth = 1
lcd_lvds_mode = 0 ;lcd_lvds_mode = 0
lcd_frm = 1 lcd_frm = 1
lcd_hv_clk_phase = 0 lcd_hv_clk_phase = 0
lcd_hv_sync_polarity= 0 lcd_hv_sync_polarity= 0
@ -591,17 +594,38 @@ smart_color = 90
;lcd_bl_en = port:PD21<1><0><default><1> ;lcd_bl_en = port:PD21<1><0><default><1>
lcd_power = "vcc-lcd" lcd_power = "vcc-lcd"
lcdd0 = port:PD00<3><0><default><default> lcdd0 = port:PD00<2><0><default><default>
lcdd1 = port:PD01<3><0><default><default> lcdd1 = port:PD01<2><0><default><default>
lcdd2 = port:PD02<3><0><default><default> lcdd2 = port:PD02<2><0><default><default>
lcdd3 = port:PD03<3><0><default><default> lcdd3 = port:PD03<2><0><default><default>
lcdd4 = port:PD04<3><0><default><default> lcdd4 = port:PD04<2><0><default><default>
lcdd5 = port:PD05<3><0><default><default> lcdd5 = port:PD05<2><0><default><default>
lcdd6 = port:PD06<3><0><default><default> lcdd6 = port:PD06<2><0><default><default>
lcdd7 = port:PD07<3><0><default><default> lcdd7 = port:PD07<2><0><default><default>
lcdd8 = port:PD08<3><0><default><default> lcdd8 = port:PD08<2><0><default><default>
lcdd9 = port:PD09<3><0><default><default> lcdd9 = port:PD09<2><0><default><default>
lcdd10 = port:PD10<2><0><default><default>
lcdd11 = port:PD11<2><0><default><default>
lcdd12 = port:PD12<2><0><default><default>
lcdd13 = port:PD13<2><0><default><default>
lcdd14 = port:PD14<2><0><default><default>
lcdd15 = port:PD15<2><0><default><default>
lcdd16 = port:PD16<2><0><default><default>
lcdd17 = port:PD17<2><0><default><default>
lcdclk = port:PD18<2><0><default><default>
lcdde = port:PD19<2><0><default><default>
lcdhsync = port:PD20<2><0><default><default>
lcdvsync = port:PD21<2><0><default><default>
;GPIOS to control spi lcd
;spi cs
lcd_gpio_0 = port:PH4<1><0><default><default>
;spi clk
lcd_gpio_1 = port:PH5<1><0><default><default>
;spi mosi
lcd_gpio_2 = port:PH6<1><0><default><default>
;lcd rst
lcd_gpio_3 = port:PD22<1><0><default><default>
[lcd0_suspend] [lcd0_suspend]
lcdd0 = port:PD00<7><0><default><default> lcdd0 = port:PD00<7><0><default><default>
@ -615,6 +639,20 @@ lcdd7 = port:PD07<7><0><default><default>
lcdd8 = port:PD08<7><0><default><default> lcdd8 = port:PD08<7><0><default><default>
lcdd9 = port:PD09<7><0><default><default> lcdd9 = port:PD09<7><0><default><default>
lcdd10 = port:PD10<7><0><default><default>
lcdd11 = port:PD11<7><0><default><default>
lcdd12 = port:PD12<7><0><default><default>
lcdd13 = port:PD13<7><0><default><default>
lcdd14 = port:PD14<7><0><default><default>
lcdd15 = port:PD15<7><0><default><default>
lcdd16 = port:PD16<7><0><default><default>
lcdd17 = port:PD17<7><0><default><default>
lcdclk = port:PD18<7><0><default><default>
lcdde = port:PD19<7><0><default><default>
lcdhsync = port:PD20<7><0><default><default>
lcdvsync = port:PD21<7><0><default><default>
[lcd1] [lcd1]
lcd_used = 0 lcd_used = 0
@ -651,7 +689,7 @@ lcdgamma4iep = 22
smart_color = 90 smart_color = 90
;lcd_bl_en = port:PD29<1><0><default><1> ;lcd_bl_en = port:PD29<1><0><default><1>
lcd_pin_power = "vcc-pd" ;lcd_pin_power = "vcc-pd"
lcd_power = "vcc-lcd" lcd_power = "vcc-lcd"
lcdd2 = port:PD00<2><0><default><default> lcdd2 = port:PD00<2><0><default><default>
@ -711,7 +749,7 @@ hdmi_used = 0
;pwm config ;pwm config
;---------------------------------------------------------------------------------- ;----------------------------------------------------------------------------------
[pwm0] [pwm0]
pwm_used = 0 pwm_used = 1
pwm_positive = port:PD23<2><0><default><default> pwm_positive = port:PD23<2><0><default><default>
[pwm0_suspend] [pwm0_suspend]
@ -1406,7 +1444,7 @@ regulator19 = "pmu1736_cldo2 none "
regulator20 = "pmu1736_cldo3 none " regulator20 = "pmu1736_cldo3 none "
regulator21 = "pmu1736_cldo4 none " regulator21 = "pmu1736_cldo4 none "
regulator22 = "pmu1736_cpusldo none vdd-cpus" regulator22 = "pmu1736_cpusldo none vdd-cpus"
regulator23 = "pmu1736_dc1sw none " regulator23 = "pmu1736_dc1sw none vcc-lcd"
;-------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------
;compatible ---axp_gpio0 name, support:axp803-gpio ;compatible ---axp_gpio0 name, support:axp803-gpio

View File

@ -1388,10 +1388,10 @@ CONFIG_PACKAGE_wireless-tools=y
# #
# CONFIG_PACKAGE_libVideoStabilization is not set # CONFIG_PACKAGE_libVideoStabilization is not set
CONFIG_PACKAGE_libcutils=y CONFIG_PACKAGE_libcutils=y
# CONFIG_PACKAGE_libhwdisplay is not set CONFIG_PACKAGE_libhwdisplay=y
# CONFIG_PACKAGE_libion is not set # CONFIG_PACKAGE_libion is not set
# CONFIG_PACKAGE_libkfc 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 # 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-tv is not set
# CONFIG_PACKAGE_kmod-sunxi-uvc is not set # CONFIG_PACKAGE_kmod-sunxi-uvc is not set
# CONFIG_PACKAGE_kmod-sunxi-vin 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 # Virtualization Support
@ -2422,7 +2427,7 @@ CONFIG_PACKAGE_bluez-libs=y
# CONFIG_PACKAGE_directfb is not set # CONFIG_PACKAGE_directfb is not set
# CONFIG_PACKAGE_enchant is not set # CONFIG_PACKAGE_enchant is not set
# CONFIG_PACKAGE_gdk-pixbuf 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_granite is not set
# CONFIG_PACKAGE_harfbuzz is not set # CONFIG_PACKAGE_harfbuzz is not set
# CONFIG_PACKAGE_icu is not set # CONFIG_PACKAGE_icu is not set
@ -2886,7 +2891,7 @@ CONFIG_TTF2_SUPPORT=y
# #
# libs # libs
# #
# CONFIG_PACKAGE_libcae is not set CONFIG_PACKAGE_libcae=y
CONFIG_PACKAGE_libduilite=y CONFIG_PACKAGE_libduilite=y
# #
@ -2931,7 +2936,7 @@ CONFIG_RES_NORMAL_MODE=y
# CONFIG_PACKAGE_log_ctrl is not set # CONFIG_PACKAGE_log_ctrl is not set
# CONFIG_PACKAGE_mcu_ota is not set # CONFIG_PACKAGE_mcu_ota is not set
CONFIG_PACKAGE_netease_control_center=y CONFIG_PACKAGE_netease_control_center=y
# CONFIG_PACKAGE_netease_test is not set CONFIG_PACKAGE_netease_test=y
CONFIG_PACKAGE_netease_voice=y CONFIG_PACKAGE_netease_voice=y
# #
@ -3377,8 +3382,884 @@ CONFIG_TINATEST_SYS_LOCAL_LIMIT_TIMEOUT_WITH_PASS=y
# #
# Settings For TESTCASES # Settings For TESTCASES
# #
# CONFIG_TINATEST_DEMO is not set CONFIG_TINATEST_DEMO=y
# CONFIG_TINATEST_BASE is not set 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_DEMO_DEMO_SH_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_DEMO_DEMO_C_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_OTGTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_CAMERATESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_HOSTTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_SDCARDTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_NANDTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_KEYTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> to customize
#
# CONFIG_TINATEST_BASE_PRODUCTION_EMMCTESTER_INFO is not set
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=""
#
# <N> to Default && <Y> 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
#
# <N> to Default && <Y> 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=y
# CONFIG_TINATEST_SPEC_BENCHMARKS is not set # CONFIG_TINATEST_SPEC_BENCHMARKS is not set
CONFIG_TINATEST_SPEC_STORAGE=y CONFIG_TINATEST_SPEC_STORAGE=y
@ -3590,8 +4471,8 @@ CONFIG_PACKAGE_alsa-utils=y
# CONFIG_PACKAGE_alsa-utils-tests is not set # CONFIG_PACKAGE_alsa-utils-tests is not set
# CONFIG_PACKAGE_bluez-daemon is not set # CONFIG_PACKAGE_bluez-daemon is not set
# CONFIG_PACKAGE_bluez-examples is not set # CONFIG_PACKAGE_bluez-examples is not set
# CONFIG_PACKAGE_bluez-utils is not set CONFIG_PACKAGE_bluez-utils=y
# CONFIG_PACKAGE_brcm_patchram_plus is not set CONFIG_PACKAGE_brcm_patchram_plus=y
# CONFIG_PACKAGE_breakpad-utils is not set # CONFIG_PACKAGE_breakpad-utils is not set
# CONFIG_PACKAGE_bsdiff is not set # CONFIG_PACKAGE_bsdiff is not set
# CONFIG_PACKAGE_bspatch is not set # CONFIG_PACKAGE_bspatch is not set
@ -3609,8 +4490,8 @@ CONFIG_PACKAGE_dbus-utils=y
CONFIG_PACKAGE_dmesg=y CONFIG_PACKAGE_dmesg=y
# CONFIG_PACKAGE_dropbearconvert is not set # CONFIG_PACKAGE_dropbearconvert is not set
# CONFIG_PACKAGE_dump1090 is not set # CONFIG_PACKAGE_dump1090 is not set
# CONFIG_PACKAGE_fbtest is not set CONFIG_PACKAGE_fbtest=y
# CONFIG_PACKAGE_fbviewer is not set CONFIG_PACKAGE_fbviewer=y
# CONFIG_PACKAGE_flock is not set # CONFIG_PACKAGE_flock is not set
CONFIG_PACKAGE_fontconfig=y CONFIG_PACKAGE_fontconfig=y
# CONFIG_PACKAGE_getevent is not set # CONFIG_PACKAGE_getevent is not set
@ -3626,7 +4507,7 @@ CONFIG_PACKAGE_iozone3=y
# CONFIG_PACKAGE_jpeg-tools is not set # CONFIG_PACKAGE_jpeg-tools is not set
CONFIG_PACKAGE_jshn=y CONFIG_PACKAGE_jshn=y
# CONFIG_PACKAGE_kmod is not set # 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_libjson-script=y
# CONFIG_PACKAGE_lm-sensors is not set # CONFIG_PACKAGE_lm-sensors is not set
# CONFIG_PACKAGE_lm-sensors-detect is not set # CONFIG_PACKAGE_lm-sensors-detect is not set