| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (c) 2019 Amlogic, Inc. All rights reserved. |
| */ |
| |
| / { |
| lcd { |
| compatible = "amlogic, lcd-t5w"; |
| status = "okay"; |
| index = <0>; |
| mode = "tv"; |
| fr_auto_policy = <0>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */ |
| key_valid = <1>; |
| clocks = <&clkc CLKID_CLK81_VCLK2_ENCL |
| &clkc CLKID_CLK81_VCLK2_VENCL |
| &clkc CLKID_CLK81_TCON |
| &clkc CLKID_FCLK_DIV5 |
| &clkc CLKID_CTS_TCON_PLL_CLK>; |
| clock-names = "encl_top_gate", |
| "encl_int_gate", |
| "tcon_gate", |
| "fclk_div5", |
| "clk_tcon"; |
| reg = <0x0 0xff660000 0x0 0xd000 /*tcon*/ |
| 0x0 0xff634400 0x0 0x300 /*periphs*/ |
| 0x0 0xffd01000 0x0 0xa0>; /*reset*/ |
| interrupts = <0 3 1 |
| 0 56 1 |
| 0 78 1 |
| 0 88 1>; |
| interrupt-names = "vsync","vsync2","vbyone","tcon"; |
| pinctrl-names = "vbyone","vbyone_off", |
| "tcon_p2p","tcon_p2p_usit","tcon_p2p_off", |
| "tcon_mlvds","tcon_mlvds_off"; |
| pinctrl-0 = <&lcd_vbyone_a_pins>; |
| pinctrl-1 = <&lcd_vbyone_a_off_pins>; |
| pinctrl-2 = <&lcd_tcon_p2p_pins>; |
| pinctrl-3 = <&lcd_tcon_p2p_usit_pins>; |
| pinctrl-4 = <&lcd_tcon_p2p_off_pins>; |
| pinctrl-5 = <&lcd_tcon_mlvds_pins>; |
| pinctrl-6 = <&lcd_tcon_mlvds_off_pins>; |
| pinctrl_version = <2>; /* for uboot */ |
| memory-region = <&lcd_tcon_reserved>; |
| |
| /* 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 GPIOH_7 GPIO_ACTIVE_HIGH>; |
| lcd_cpu_gpio_names = "GPIOH_7"; |
| |
| 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*/ |
| hw_filter=<0 0>; /* filter_time, filter_cnt*/ |
| |
| /* 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 0 /*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 0 /*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 500 /*panel power*/ |
| 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*/ |
| 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 500 /*panel power*/ |
| 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*/ |
| 0xff 0 0 0>; /*ending*/ |
| backlight_index = <0xff>; |
| }; |
| }; |
| |
| }; /* end of / */ |