blob: 4da7199623d4d37ca7ec543f974750d2ce26aace [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
/ {
lcd {
compatible = "amlogic, lcd-t7";
status = "okay";
index = <0>;
mode = "tablet";
fr_auto_policy = <0>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */
key_valid = <0>;
clocks = <&clkc CLKID_MIPI_DSI_A
&clkc CLKID_DSI0_PHY_GATE
&clkc CLKID_DSI_A_MEAS_GATE>;
clock-names = "dsi_host_gate",
"dsi_phy_gate",
"dsi_meas";
reg = <0x0 0xfe018000 0x0 0x60 /* combo dphy */
0x0 0xfe0b0000 0x0 0x10b0 /* edp_a host */
0x0 0xfe074000 0x0 0x400 /* mipi_dsi_a host */
0x0 0xfe014000 0x0 0x200 /* mipi_dsi_a phy */
0x0 0xfe002000 0x0 0xa0 /* reset */
0x0 0xfe004000 0x0 0x70>; /* periphs */
interrupts = <0 197 1
0 194 1
0 82 1
0 282 1>;
interrupt-names = "vsync","vsync2","vsync3","vbyone";
pinctrl-names = "vbyone","vbyone_off","edp","edp_off";
pinctrl-0 = <&lcd_vbyone_a_pins>;
pinctrl-1 = <&lcd_vbyone_a_off_pins>;
pinctrl-2 = <&lcd_edp_a_pins>;
pinctrl-3 = <&lcd_edp_a_off_pins>;
pinctrl_version = <2>; /* for uboot */
/* power type:(0=cpu_gpio, 2=signal, 3=extern, 0xff=ending) */
/* power index:(gpios_index, or extern_index, 0xff=invalid) */
/* power value:(0=output low, 1=output high, 2=input) */
/* power delay:(unit in ms) */
lcd_cpu-gpios = <&gpio GPIOY_0 GPIO_ACTIVE_HIGH
&gpio GPIOY_4 GPIO_ACTIVE_HIGH>;
lcd_cpu_gpio_names = "GPIOY_0","GPIOY_4";
lvds_0{
model_name = "768p-vfreq";
interface = "lvds"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1366 768 /*h_active, v_active*/
1560 806 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
1460 2000 /*h_period_min, max */
784 1015 /*v_period_min, max */
50000000 85000000>; /*pclk_min, max*/
lcd_timing = <
56 64 0 /*hs_width, hs_bp, hs_pol*/
3 28 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
15 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
1 /*lvds_repack*/
0 /*dual_port*/
0 /*pn_swap*/
0 /*port_swap*/
0>; /*lane_reverse*/
phy_attr=<0x3 0>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_0{
model_name = "public_2region";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
2 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 200 /*panel power on*/
2 0 0 10 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 500 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_1{
model_name = "public_1region";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2790 /*v_period_min, max*/
552000000 632000000>; /*pclk_min,max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
1 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable*/
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 200 /*panel power on*/
2 0 0 10 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 500 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_2{
model_name = "vbyone_1region_hdmi";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
4 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
1 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 20 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 20 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_3{
model_name = "vbyone_2region_hdmi";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
4 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
2 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 20 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 20 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
edp_0{
model_name = "edp_1080p";
interface = "edp"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1920 1080 /*h_active, v_active*/
2200 1125 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
2080 2720 /*h_period min, max*/
1100 1380 /*v_period min, max*/
133940000 156000000>; /*pclk_min, max*/
lcd_timing = <
44 148 0 /*hs_width, hs_bp, hs_pol*/
5 30 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
0 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level */
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
edp_attr = <
2 /*max_lane_count: 1,2,4*/
1 /*max_link_rate: 0=1.62G, 1=2.7G*/
0 /*training_mode*/
0 /*edid_en, auto timing by edid*/
0 /*reserved */
0 /*reserved */
0 /*reserved */
0 /*reserved */
0>; /*reserved*/
phy_attr=<0x5 1>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 200 /*panel power on*/
0xff 0 0 0>; /*ending*/
backlight_index = <0x0>;
};
mipi_0{
model_name = "TL070WSH27";
interface = "mipi";
basic_setting = <1024 600 /*h_active, v_active*/
1250 630 /*h_period, v_period*/
8 /*lcd_bits*/
154 86>; /*screen_widht, screen_height*/
lcd_timing = <80 100 0 /*hs_width, hs_bp, hs_pol*/
5 20 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <0 /*fr_adj_type(0=clk, 1=htotal, 2=vtotal)*/
0 /*clk_ss_level */
1 /*clk_auto_generate*/
47250000>; /*pixel_clk(unit in Hz)*/
mipi_attr = <4 /*lane_num*/
300 /*bit_rate_max(MHz)*/
0 /*factor(*100, default 0 for auto)*/
1 /*operation_mode_init(0=video, 1=command)*/
0 /*operation_mode_display(0=video, 1=command)*/
2 /*
*video_mode_type
*(0=sync_pulse,1=sync_event,2=burst)
*/
1 /*clk_always_hs(0=disable,1=enable)*/
0>; /*phy_switch(0=auto,1=standard,2=slow)*/
/* dsi_init: data_type, num, data... */
dsi_init_on = <0x05 1 0x11
0xfd 1 20 /*delay(ms)*/
0x05 1 0x29
0xfd 1 20 /*delay(ms)*/
0xff 0>; /*ending*/
dsi_init_off = <0x05 1 0x28
0xfd 1 10 /*delay(ms)*/
0x05 1 0x10
0xfd 1 10 /*delay(ms)*/
0xff 0>; /*ending*/
extern_init = <0xff>; /*0xff for invalid*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 100
0 1 0 10
0 1 1 20
2 0 0 0
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 50
0 1 0 10
0 0 0 100
0xff 0 0 0>; /*ending*/
backlight_index = <0x1>;
};
mipi_1{
model_name = "SLT_720P";
interface = "mipi";
basic_setting = <1280 720 /*h_active, v_active*/
1590 750 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
lcd_timing = <40 60 0 /*hs_width,hs_bp,hs_pol*/
5 20 0>; /*vs_width,vs_bp,vs_pol*/
clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
74250000>; /*pixel_clk(unit in Hz)*/
mipi_attr = <4 /*lane_num*/
550 /*bit_rate_max(MHz)*/
0 /*factor(*100, default 0 for auto)*/
1 /*operation_mode_init(0=video, 1=command)*/
0 /*operation_mode_display(0=video, 1=command)*/
0 /*
*video_mode_type
*(0=sync_pulse,1=sync_event,2=burst)
*/
1 /*clk_always_hs(0=disable,1=enable)*/
0>; /*phy_switch(0=auto,1=standard,2=slow)*/
/* dsi_init: data_type, num, data... */
dsi_init_on = <
0x05 1 0x11
0xff 200
0x05 1 0x29
0xff 20
0xff 0xff>; /* ending flag */
dsi_init_off = <
0x05 1 0x28
0xff 10
0x05 1 0x10
0xff 10
0xff 0xff>; /* ending flag */
/* extern_init: 0xff for invalid */
extern_init = <0xff>;
/* power step: type,index,value,delay(ms) */
power_on_step = <
3 7 0 100
2 0 0 0
0xff 0 0 0>;
power_off_step = <
2 0 0 0
0xff 0 0 0>;
backlight_index = <0xff>;
};
};
backlight{
compatible = "amlogic, backlight-t7";
status = "okay";
index = <0>;
key_valid = <0>;
pinctrl-names = "pwm_on",
"pwm_off";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-1 = <&bl_pwm_off_pins>;
pinctrl_version = <2>; /* for uboot */
interrupts = <0 197 1
0 194 1
0 82 1>;
interrupt-names = "vsync","vsync2","vsync3";
bl_pwm_config = <&bl_pwm_conf>;
/* pwm port: PWM_A, PWM_B, PWM_C, PWM_D, PWM_E, PWM_F, PWM_VS*/
/* power index:(point gpios_index, 0xff=invalid) */
/* power value:(0=output low, 1=output high, 2=input) */
/* power delay:(unit in ms) */
bl-gpios = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH
&gpio GPIOY_1 GPIO_ACTIVE_HIGH>;
bl_gpio_names = "GPIOY_12","GPIOY_1";
backlight_0{
index = <0>;
bl_name = "backlight_pwm";
bl_level_default_uboot_kernel = <255 255>;
bl_level_attr = <255 10 /*max, min*/
128 128>; /*mid, mid_mapping*/
bl_ctrl_method = <1>; /*1=pwm,2=pwm_combo*/
bl_power_attr = <0 /*en_gpio_index*/
1 0 /*on_value, off_value*/
200 200>; /*on_delay(ms), off_delay(ms)*/
bl_pwm_port = "PWM_E";
bl_pwm_attr = <1 /*pwm_method(0=negative, 1=positvie)*/
180 /*pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/
100 25>; /*duty_max(%), duty_min(%)*/
bl_pwm_power = <1 0 /*pwm_gpio_index, pwm_gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
en_sequence_reverse = <0>; /* 1 for reverse */
};
backlight_1{
index = <1>;
bl_name = "backlight_pwm";
bl_level_default_uboot_kernel = <255 255>;
bl_level_attr = <255 10 /*max, min*/
128 128>; /*mid, mid_mapping*/
bl_ctrl_method = <1>; /*1=pwm,2=pwm_combo*/
bl_power_attr = <0 /*en_gpio_index*/
1 0 /*on_value, off_value*/
200 200>; /*on_delay(ms), off_delay(ms)*/
bl_pwm_port = "PWM_E";
bl_pwm_attr = <0 /*pwm_method(0=negative, 1=positvie)*/
180 /*pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/
100 25>; /*duty_max(%), duty_min(%)*/
bl_pwm_power = <1 0 /*pwm_gpio_index, pwm_gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
en_sequence_reverse = <0>; /* 1 for reverse */
};
};
local_dimming_device {
compatible = "amlogic, ldim_dev";
status = "okay";
key_valid = <0>;
pinctrl-names = "ldim_pwm",
"ldim_pwm_vs",
"ldim_pwm_off";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-1 = <&bl_pwm_vs_on_pins>;
pinctrl-2 = <&bl_pwm_off_pins>;
pinctrl_version = <2>; /* for uboot */
ldim_pwm_config = <&bl_pwm_conf>;
/* pwm port: PWM_A, PWM_B, PWM_C, PWM_D, PWM_E, PWM_F, PWM_VS*/
ldim_dev-gpios = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH
&gpio GPIOY_1 GPIO_ACTIVE_HIGH
&gpio GPIOY_14 GPIO_ACTIVE_HIGH>;
ldim_dev_gpio_names = "GPIOY_12","GPIOY_1","GPIOY_14";
ldim_dev_0 {
index = <0>;
type = <0>; /*0=normal, 1=spi, 2=i2c*/
ldim_dev_name = "ob3350";
ldim_pwm_port = "PWM_D";
ldim_pwm_attr = <0 /* pol */
200 /*freq(pwm:Hz, pwm_vs:multiple of vs)*/
50>;/*default duty(%)*/
en_gpio_on_off = <0 /*ldim_dev-gpios index*/
1 0>; /*on_level, off_level*/
dim_max_min = <100 20>; /*dim_max, dim_min*/
};
ldim_dev_1 {
index = <1>;
type = <0>; /*0=normal, 1=spi, 2=i2c*/
ldim_dev_name = "global";
ldim_pwm_port = "PWM_D";
ldim_pwm_attr = <1 /* pol */
180 /*freq(pwm:Hz, pwm_vs:multiple of vs)*/
50>;/*default duty(%)*/
en_gpio_on_off = <0 /*ldim_dev-gpios index*/
1 0>; /*on_level, off_level*/
dim_max_min = <100 20>; /*dim_max, dim_min*/
};
ldim_dev_2 {
index = <2>;
type = <1>; /* 0=normal,1=spi,2=i2c */
ldim_dev_name = "iw7027";
ldim_pwm_port = "PWM_VS";
ldim_pwm_attr = <1 /* pol */
2 /*freq(pwm:Hz, pwm_vs:multiple of vs)*/
50>;/*default duty(%)*/
spi_bus_num = <2>;
spi_chip_select = <0>;
spi_max_frequency = <1000000>; /* unit: hz */
spi_mode = <0>; /* mode: 0, 1, 2, 3 */
spi_dma_support = <1>;
spi_cs_delay = <10 /* hold_high_delay */
100>; /* clk_cs_delay (unit: us) */
en_gpio_on_off = <0 /* ldim_dev-gpios index */
1 /* on_level */
0>; /* off_level */
lamp_err_gpio = <0xff>;
/* ldim_dev-gpios index, 0xff=invalid */
spi_write_check = <0>; /* 0=disable, 1=enable */
dim_max_min = <0xfff 0x0>; /* dim_max, dim_min */
chip_count = <3>;
ldim_zone_mapping = <
37 38 39 40 41
32 33 34 35 36
16 17 18 19 20
43 44 45 46 47
27 28 29 30 31
21 22 23 24 25
9 8 7 6 5
4 3 2 1 0
15 14 13 12 11>;
ldim_bl_profile_mode = <2>; /*0=no profile*/
ldim_bl_profile_k_bits = <
3487 24>; /*profile_k, profile_bits*/
ldim_bl_profile_path =
"/odm/etc/tvconfig/panel/tcon/HV650QUB-F70_LDIM/bl_profile.bin";
ldim_cus_param = < /* maximum = 32 x 4 bytes*/
0
594
268
30550
1231500
20960790
0
5000000
0
0
>;
cmd_size = <0xff>;
/* init: (type, data...) */
/* type: 0x00=cmd with delay,
* 0xc0=cmd,
* 0xfd=delay,
* 0xff=ending
*/
/* data: spi data, fill 0x0 for no use */
/* delay: unit ms */
init_on = <
0xc0 2 0x00 0x06
0xc0 2 0x01 0x00
0xc0 2 0x02 0x00
0xc0 2 0x03 0x00
0xc0 2 0x04 0x22
0xc0 2 0x05 0x00
0xc0 2 0x06 0x44
0xc0 2 0x07 0x00
0xc0 2 0x08 0x66
0xc0 2 0x09 0x00
0xc0 2 0x0a 0x88
0xc0 2 0x0b 0x00
0xc0 2 0x0c 0xaa
0xc0 2 0x0d 0x00
0xc0 2 0x0e 0xcc
0xc0 2 0x0f 0x00
0xc0 2 0x10 0xee
0xc0 2 0x11 0x51
0xc0 2 0x12 0x10
0xc0 2 0x13 0x32
0xc0 2 0x14 0x00
0xc0 2 0x15 0x54
0xc0 2 0x16 0x55
0xc0 2 0x17 0x76
0xc0 2 0x18 0x99
0xc0 2 0x19 0xbb
0xc0 2 0x1a 0xdd
0xc0 2 0x1b 0x00
0xc0 2 0x1c 0xa5
0xc0 2 0x1d 0x25
0xc0 2 0x1e 0x88
0xc0 2 0x1f 0x7e
0xc0 2 0x20 0x0a
0xc0 2 0x21 0xef
0xc0 2 0x22 0xff
0xc0 2 0x23 0xfb
0xc0 2 0x24 0xff
0xc0 2 0x25 0x00
0xc0 2 0x26 0x00
0xc0 2 0x27 0x33
0xc0 2 0x28 0x33
0xc0 2 0x29 0x87
0xc0 2 0x2a 0x1a
0xc0 2 0x2b 0x7f
0xc0 2 0x2c 0xac
0xc0 2 0x2d 0xff
0xc0 2 0x2e 0xe4
0xc0 2 0x2f 0xbc
0xc0 2 0x30 0xdd
0xc0 2 0x31 0x82
0xc0 2 0x32 0x85
0xc0 2 0x33 0x16
0xc0 2 0x34 0x98
0xc0 2 0x35 0xbf
0xc0 2 0x36 0x41
0xc0 2 0x37 0x00
0xc0 2 0x38 0xc0
0xc0 2 0x39 0x00
0xc0 2 0x40 0x08
0xc0 2 0x41 0x00
0xc0 2 0x42 0x08
0xc0 2 0x43 0x00
0xc0 2 0x44 0x08
0xc0 2 0x45 0x00
0xc0 2 0x46 0x08
0xc0 2 0x47 0x00
0xc0 2 0x48 0x08
0xc0 2 0x49 0x00
0xc0 2 0x4a 0x08
0xc0 2 0x4b 0x00
0xc0 2 0x4c 0x08
0xc0 2 0x4d 0x00
0xc0 2 0x4e 0x08
0xc0 2 0x4f 0x00
0xc0 2 0x50 0x08
0xc0 2 0x51 0x00
0xc0 2 0x52 0x08
0xc0 2 0x53 0x00
0xc0 2 0x54 0x08
0xc0 2 0x55 0x00
0xc0 2 0x56 0x08
0xc0 2 0x57 0x00
0xc0 2 0x58 0x08
0xc0 2 0x59 0x00
0xc0 2 0x5a 0x08
0xc0 2 0x5b 0x00
0xc0 2 0x5c 0x08
0xc0 2 0x5d 0x00
0xc0 2 0x5e 0x08
0xc0 2 0x5f 0x00
0xff 0>;
init_off = <0xff 0>;
};
};
lcd1 {
compatible = "amlogic, lcd-t7";
status = "okay";
index = <1>;
mode = "tablet";
fr_auto_policy = <0>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */
key_valid = <0>;
clocks = <&clkc CLKID_MIPI_DSI_B
&clkc CLKID_DSI1_PHY_GATE
&clkc CLKID_DSI_B_MEAS_GATE>;
clock-names = "dsi_host_gate",
"dsi_phy_gate",
"dsi_meas";
reg = <0x0 0xfe018000 0x0 0x60 /* combo dphy */
0x0 0xfe0b2000 0x0 0x10b0 /* edp_b host */
0x0 0xfe072000 0x0 0x400 /* mipi_dsi_b host */
0x0 0xfe016000 0x0 0x200 /* mipi_dsi_b phy */
0x0 0xfe002000 0x0 0xa0 /* reset */
0x0 0xfe004000 0x0 0x70>; /* periphs */
interrupts = <0 197 1
0 194 1
0 82 1
0 283 1>;
interrupt-names = "vsync","vsync2","vsync3","vbyone";
pinctrl-names = "vbyone","vbyone_off","edp","edp_off";
pinctrl-0 = <&lcd_vbyone_b_pins>;
pinctrl-1 = <&lcd_vbyone_b_off_pins>;
pinctrl-2 = <&lcd_edp_b_pins>;
pinctrl-3 = <&lcd_edp_b_off_pins>;
pinctrl_version = <2>; /* for uboot */
/* power type:(0=cpu_gpio, 2=signal, 3=extern, 0xff=ending) */
/* power index:(gpios_index, or extern_index, 0xff=invalid) */
/* power value:(0=output low, 1=output high, 2=input) */
/* power delay:(unit in ms) */
lcd_cpu-gpios = <&gpio GPIOY_14 GPIO_ACTIVE_HIGH
&gpio GPIOY_6 GPIO_ACTIVE_HIGH>;
lcd_cpu_gpio_names = "GPIOY_14","GPIOY_6";
lvds_0{
model_name = "768p-vfreq";
interface = "lvds"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1366 768 /*h_active, v_active*/
1560 806 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
1460 2000 /*h_period_min, max */
784 1015 /*v_period_min, max */
50000000 85000000>; /*pclk_min, max*/
lcd_timing = <
56 64 0 /*hs_width, hs_bp, hs_pol*/
3 28 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
15 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
1 /*lvds_repack*/
0 /*dual_port*/
0 /*pn_swap*/
0 /*port_swap*/
0>; /*lane_reverse*/
phy_attr=<0x3 0>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_0{
model_name = "public_2region";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
2 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 200 /*panel power on*/
2 0 0 10 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 500 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_1{
model_name = "public_1region";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2790 /*v_period_min, max*/
552000000 632000000>; /*pclk_min,max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
1 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable*/
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 200 /*panel power on*/
2 0 0 10 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 500 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_2{
model_name = "vbyone_1region_hdmi";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
4 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
1 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 20 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 20 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
vbyone_3{
model_name = "vbyone_2region_hdmi";
interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
3840 2160 /*h_active, v_active*/
4400 2250 /*h_period, v_period*/
10 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
4240 4800 /*h_period_min, max*/
2200 2760 /*v_period_min, max*/
480000000 624000000>; /*pclk_min, max*/
lcd_timing = <
33 477 0 /*hs_width, hs_bp, hs_pol*/
6 65 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
4 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
vbyone_attr = <
8 /*lane_count*/
2 /*region_num*/
4 /*byte_mode*/
4>; /*color_fmt*/
vbyone_intr_enable = <
1 /*vbyone_intr_enable */
3>; /*vbyone_vsync_intr_enable*/
phy_attr=<0x7 1>; /* vswing_level, preem_level */
hw_filter=<0 0>; /* filter_time, filter_cnt*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 20 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 20 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
edp_0{
model_name = "edp_1080p";
interface = "edp"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1920 1080 /*h_active, v_active*/
2200 1125 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
2080 2720 /*h_period min, max*/
1100 1380 /*v_period min, max*/
133940000 156000000>; /*pclk_min, max*/
lcd_timing = <
44 148 0 /*hs_width, hs_bp, hs_pol*/
5 30 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
0 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level */
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
edp_attr = <
2 /*max_lane_count: 1,2,4*/
1 /*max_link_rate: 0=1.62G, 1=2.7G*/
0 /*training_mode*/
0 /*reserved*/
0 /*reserved */
0 /*reserved */
0 /*reserved */
0 /*reserved */
0>; /*reserved*/
phy_attr=<0x5 1>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 200 /*panel power on*/
0xff 0 0 0>; /*ending*/
backlight_index = <0x0>;
};
mipi_0{
model_name = "TL070WSH27";
interface = "mipi";
basic_setting = <1024 600 /*h_active, v_active*/
1250 630 /*h_period, v_period*/
8 /*lcd_bits*/
154 86>; /*screen_widht, screen_height*/
lcd_timing = <80 100 0 /*hs_width, hs_bp, hs_pol*/
5 20 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <0 /*fr_adj_type(0=clk, 1=htotal, 2=vtotal)*/
0 /*clk_ss_level */
1 /*clk_auto_generate*/
47250000>; /*pixel_clk(unit in Hz)*/
mipi_attr = <4 /*lane_num*/
300 /*bit_rate_max(MHz)*/
0 /*factor(*100, default 0 for auto)*/
1 /*operation_mode_init(0=video, 1=command)*/
0 /*operation_mode_display(0=video, 1=command)*/
2 /*
*video_mode_type
*(0=sync_pulse,1=sync_event,2=burst)
*/
1 /*clk_always_hs(0=disable,1=enable)*/
0>; /*phy_switch(0=auto,1=standard,2=slow)*/
/* dsi_init: data_type, num, data... */
dsi_init_on = <0x05 1 0x11
0xfd 1 20 /*delay(ms)*/
0x05 1 0x29
0xfd 1 20 /*delay(ms)*/
0xff 0>; /*ending*/
dsi_init_off = <0x05 1 0x28
0xfd 1 10 /*delay(ms)*/
0x05 1 0x10
0xfd 1 10 /*delay(ms)*/
0xff 0>; /*ending*/
extern_init = <0xff>; /*0xff for invalid*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 100
0 1 0 10
0 1 1 20
2 0 0 0
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 50
0 1 0 10
0 0 0 100
0xff 0 0 0>; /*ending*/
backlight_index = <0x1>;
};
mipi_1{
model_name = "SLT_720P";
interface = "mipi";
basic_setting = <1280 720 /*h_active, v_active*/
1590 750 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
lcd_timing = <40 60 0 /*hs_width,hs_bp,hs_pol*/
5 20 0>; /*vs_width,vs_bp,vs_pol*/
clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
74250000>; /*pixel_clk(unit in Hz)*/
mipi_attr = <4 /*lane_num*/
550 /*bit_rate_max(MHz)*/
0 /*factor(*100, default 0 for auto)*/
1 /*operation_mode_init(0=video, 1=command)*/
0 /*operation_mode_display(0=video, 1=command)*/
0 /*
*video_mode_type
*(0=sync_pulse,1=sync_event,2=burst)
*/
1 /*clk_always_hs(0=disable,1=enable)*/
0>; /*phy_switch(0=auto,1=standard,2=slow)*/
/* dsi_init: data_type, num, data... */
dsi_init_on = <
0x05 1 0x11
0xff 200
0x05 1 0x29
0xff 20
0xff 0xff>; /* ending flag */
dsi_init_off = <
0x05 1 0x28
0xff 10
0x05 1 0x10
0xff 10
0xff 0xff>; /* ending flag */
/* extern_init: 0xff for invalid */
extern_init = <0xff>;
/* power step: type,index,value,delay(ms) */
power_on_step = <
3 7 0 100
2 0 0 0
0xff 0 0 0>;
power_off_step = <
2 0 0 0
0xff 0 0 0>;
backlight_index = <0xff>;
};
};
backlight1{
compatible = "amlogic, backlight-t7";
status = "okay";
index = <1>;
key_valid = <0>;
pinctrl-names = "pwm_on",
"pwm_off";
pinctrl-0 = <&pwm_f_pins>;
pinctrl-1 = <&bl1_pwm_off_pins>;
pinctrl_version = <2>; /* for uboot */
interrupts = <0 197 1
0 194 1
0 82 1>;
interrupt-names = "vsync","vsync2","vsync3";
bl_pwm_config = <&bl_pwm_conf>;
/* pwm port: PWM_A, PWM_B, PWM_C, PWM_D, PWM_E, PWM_F, PWM_VS*/
/* power index:(point gpios_index, 0xff=invalid) */
/* power value:(0=output low, 1=output high, 2=input) */
/* power delay:(unit in ms) */
bl-gpios = <&gpio GPIOY_13 GPIO_ACTIVE_HIGH
&gpio GPIOY_8 GPIO_ACTIVE_HIGH>;
bl_gpio_names = "GPIOY_13","GPIOY_8";
backlight_0{
index = <0>;
bl_name = "backlight_pwm";
bl_level_default_uboot_kernel = <255 255>;
bl_level_attr = <255 10 /*max, min*/
128 128>; /*mid, mid_mapping*/
bl_ctrl_method = <1>; /*1=pwm,2=pwm_combo*/
bl_power_attr = <0 /*en_gpio_index*/
1 0 /*on_value, off_value*/
200 200>; /*on_delay(ms), off_delay(ms)*/
bl_pwm_port = "PWM_F";
bl_pwm_attr = <1 /*pwm_method(0=negative, 1=positvie)*/
180 /*pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/
100 25>; /*duty_max(%), duty_min(%)*/
bl_pwm_power = <1 0 /*pwm_gpio_index, pwm_gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
en_sequence_reverse = <0>; /* 1 for reverse */
};
backlight_1{
index = <1>;
bl_name = "backlight_pwm";
bl_level_default_uboot_kernel = <255 255>;
bl_level_attr = <255 10 /*max, min*/
128 128>; /*mid, mid_mapping*/
bl_ctrl_method = <1>; /*1=pwm,2=pwm_combo*/
bl_power_attr = <0 /*en_gpio_index*/
1 0 /*on_value, off_value*/
200 200>; /*on_delay(ms), off_delay(ms)*/
bl_pwm_port = "PWM_F";
bl_pwm_attr = <0 /*pwm_method(0=negative, 1=positvie)*/
180 /*pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/
100 25>; /*duty_max(%), duty_min(%)*/
bl_pwm_power = <1 0 /*pwm_gpio_index, pwm_gpio_off*/
10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
en_sequence_reverse = <0>; /* 1 for reverse */
};
};
lcd2 {
compatible = "amlogic, lcd-t7";
status = "okay";
index = <2>;
mode = "tablet";
fr_auto_policy = <0>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */
key_valid = <0>;
reg = <0x0 0xfe018000 0x0 0x60 /* combo dphy */
0x0 0xfe0b0000 0x0 0x10b0 /* edp_a host */
0x0 0xfe074000 0x0 0x400 /* mipi_dsi_a host */
0x0 0xfe014000 0x0 0x200 /* mipi_dsi_a phy */
0x0 0xfe002000 0x0 0xa0 /* reset */
0x0 0xfe004000 0x0 0x70>; /* periphs */
interrupts = <0 197 1
0 194 1
0 82 1>;
interrupt-names = "vsync","vsync2","vsync3";
pinctrl_version = <2>; /* for uboot */
/* power type:(0=cpu_gpio, 2=signal, 3=extern, 0xff=ending) */
/* power index:(gpios_index, or extern_index, 0xff=invalid) */
/* power value:(0=output low, 1=output high, 2=input) */
/* power delay:(unit in ms) */
lcd_cpu-gpios = <&gpio GPIOY_14 GPIO_ACTIVE_HIGH>;
lcd_cpu_gpio_names = "GPIOY_14";
lvds_0{
model_name = "1080p-vfreq";
interface = "lvds"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1920 1080 /*h_active, v_active*/
2200 1125 /*h_period, v_period*/
8 /*lcd_bits */
16 9>; /*screen_widht, screen_height*/
range_setting = <
2060 2650 /*h_period_min,max*/
1100 1480 /*v_period_min,max*/
120000000 160000000>; /*pclk_min,max*/
lcd_timing = <
44 148 0 /*hs_width, hs_bp, hs_pol*/
5 30 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
2 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level*/
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
1 /*lvds_repack*/
1 /*dual_port*/
0 /*pn_swap*/
0 /*port_swap*/
0>; /*lane_reverse*/
phy_attr=<0x3 0>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
lvds_1{
model_name = "1080p-hfreq_hdmi";
interface = "lvds"; /*lcd_interface(lvds, vbyone)*/
basic_setting = <
1920 1080 /*h_active, v_active*/
2200 1125 /*h_period, v_period*/
8 /*lcd_bits*/
16 9>; /*screen_widht, screen_height*/
range_setting = <
2080 2720 /*h_period min, max*/
1100 1380 /*v_period min, max*/
133940000 156000000>; /*pclk_min, max*/
lcd_timing = <
44 148 0 /*hs_width, hs_bp, hs_pol*/
5 30 0>; /*vs_width, vs_bp, vs_pol*/
clk_attr = <
4 /*fr_adj_type
*(0=clk, 1=htotal, 2=vtotal, 3=auto_range,
* 4=hdmi_mode)
*/
0 /*clk_ss_level */
1 /*clk_auto_generate*/
0>; /*pixel_clk(unit in Hz)*/
lvds_attr = <
1 /*lvds_repack*/
1 /*dual_port*/
0 /*pn_swap*/
0 /*port_swap*/
0>; /*lane_reverse*/
phy_attr=<0x3 0>; /*vswing_level, preem_level*/
/* power step: type, index, value, delay(ms) */
power_on_step = <
0 0 1 50 /*panel power on*/
2 0 0 0 /*signal enable*/
0xff 0 0 0>; /*ending*/
power_off_step = <
2 0 0 10 /*signal disable*/
0 0 0 100 /*panel power off*/
0xff 0 0 0>; /*ending*/
backlight_index = <0xff>;
};
};
bl_pwm_conf:bl_pwm_conf{
pwm_channel_0 {
pwm_port = "PWM_E";
pwms = <&pwm_ef MESON_PWM_0 30040 0>;
};
pwm_channel_1 {
pwm_port = "PWM_F";
pwms = <&pwm_ef MESON_PWM_1 30040 0>;
};
};
}; /* end of / */