| // 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 / */ |