From 2b817677026c1f952e4cdcecf38c19d908eb7eb0 Mon Sep 17 00:00:00 2001 From: Evoke Zhang Date: Mon, 8 May 2023 13:27:15 +0800 Subject: [PATCH] dts: bc302: add vbyone2hdmi panel parameters [1/1] PD#SWPL-122387 Problem: need support vbyone2hdmi panel parameters in dts Solution: add vbyone2hdmi panel parameters for bc302 Verify: bc302 Change-Id: I6aeae55f5119b41582617438d4150c7d327ec407 Signed-off-by: Evoke Zhang --- .../dts/amlogic/mesont3x_bc302-panel.dtsi | 109 +++++++++++-- .../amlogic/mesont3x_bc302_linux-panel.dtsi | 151 +++++++++++++++++- .../dts/amlogic/mesont3x_bc309-panel.dtsi | 23 ++- 3 files changed, 255 insertions(+), 28 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/mesont3x_bc302-panel.dtsi b/arch/arm64/boot/dts/amlogic/mesont3x_bc302-panel.dtsi index 89a5be622..2b653c606 100644 --- a/arch/arm64/boot/dts/amlogic/mesont3x_bc302-panel.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesont3x_bc302-panel.dtsi @@ -9,7 +9,6 @@ status = "okay"; index = <0>; mode = "tv"; - pxp = <0>; fr_auto_policy = <1>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */ key_valid = <1>; clocks = <&clkc CLKID_FCLK_DIV5 @@ -55,7 +54,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2060 2650 /*h_period_min,max*/ 1100 1480 /*v_period_min,max*/ @@ -89,7 +88,7 @@ 2 0 0 10 /*signal disable*/ 0 0 0 500 /*panel power*/ 0xff 0 0 0>; /*ending*/ - backlight_index = <0xff>; + backlight_index = <0>; }; lvds_1{ model_name = "1080p-hfreq_hdmi"; @@ -98,7 +97,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2080 2720 /*h_period min, max*/ 1100 1380 /*v_period min, max*/ @@ -140,7 +139,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 1210 680>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2760 /*v_period_min, max*/ @@ -186,7 +185,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 1270 721>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2790 /*v_period_min, max*/ @@ -226,13 +225,105 @@ backlight_index = <0>; }; 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 */ + 1210 680>; /*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 81 0>; /*vs_width, vs_bp, vs_pol*/ + ppc_mode = <2>; + 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 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_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*/ + 1210 680>; /*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 81 0>; /*vs_width, vs_bp, vs_pol*/ + ppc_mode = <2>; + 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 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_5{ model_name = "public_2region_120hz"; 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*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ @@ -268,14 +359,14 @@ 0xff 0 0 0>; /*ending*/ backlight_index = <0>; }; - vbyone_3{ + vbyone_6{ model_name = "public_2region_144hz"; interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/ basic_setting = < 3840 2160 /*h_active, v_active*/ 4096 2235 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ diff --git a/arch/arm64/boot/dts/amlogic/mesont3x_bc302_linux-panel.dtsi b/arch/arm64/boot/dts/amlogic/mesont3x_bc302_linux-panel.dtsi index d851a902b..8057c4870 100644 --- a/arch/arm64/boot/dts/amlogic/mesont3x_bc302_linux-panel.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesont3x_bc302_linux-panel.dtsi @@ -54,7 +54,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2060 2650 /*h_period_min,max*/ 1100 1480 /*v_period_min,max*/ @@ -97,7 +97,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2080 2720 /*h_period min, max*/ 1100 1380 /*v_period min, max*/ @@ -139,7 +139,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 1210 680>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2760 /*v_period_min, max*/ @@ -185,7 +185,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 1270 721>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2790 /*v_period_min, max*/ @@ -225,13 +225,150 @@ backlight_index = <0>; }; 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 */ + 1210 680>; /*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 81 0>; /*vs_width, vs_bp, vs_pol*/ + ppc_mode = <2>; + 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 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_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*/ + 1210 680>; /*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 81 0>; /*vs_width, vs_bp, vs_pol*/ + ppc_mode = <2>; + 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 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_4{/*for localdimming*/ + model_name = "public_2region_ldim"; + interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/ + basic_setting = < + 3840 2160 /*h_active, v_active*/ + 4400 2250 /*h_period, v_period*/ + 10 /*lcd_bits */ + 1210 680>; /*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=<0x8 0xf>; /* vswing_level, preem_level */ + hw_filter=<0 0>; /* filter_time, filter_cnt*/ + + /* power step: type, index, value, delay(ms) */ + power_on_step = < + 0 2 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 2 0 500 /*panel power off*/ + 0xff 0 0 0>; /*ending*/ + backlight_index = <3>; + }; + vbyone_5{ model_name = "public_2region_120hz"; 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*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ @@ -267,14 +404,14 @@ 0xff 0 0 0>; /*ending*/ backlight_index = <0>; }; - vbyone_3{ + vbyone_6{ model_name = "public_2region_144hz"; interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/ basic_setting = < 3840 2160 /*h_active, v_active*/ 4096 2235 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ diff --git a/arch/arm64/boot/dts/amlogic/mesont3x_bc309-panel.dtsi b/arch/arm64/boot/dts/amlogic/mesont3x_bc309-panel.dtsi index 83494bf18..3b1e070dd 100644 --- a/arch/arm64/boot/dts/amlogic/mesont3x_bc309-panel.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesont3x_bc309-panel.dtsi @@ -9,7 +9,6 @@ status = "okay"; index = <0>; mode = "tv"; - pxp = <0>; fr_auto_policy = <1>; /* 0=disable, 1=60/50hz, 2=60/50/48hz */ key_valid = <1>; clocks = <&clkc CLKID_FCLK_DIV5 @@ -55,7 +54,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2060 2650 /*h_period_min,max*/ 1100 1480 /*v_period_min,max*/ @@ -98,7 +97,7 @@ 1920 1080 /*h_active, v_active*/ 2200 1125 /*h_period, v_period*/ 8 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 941 529>; /*screen_widht, screen_height*/ range_setting = < 2080 2720 /*h_period min, max*/ 1100 1380 /*v_period min, max*/ @@ -140,7 +139,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits */ - 16 9>; /*screen_widht, screen_height*/ + 1210 680>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2760 /*v_period_min, max*/ @@ -177,7 +176,7 @@ 2 0 0 10 /*signal disable*/ 0 0 0 500 /*panel power*/ 0xff 0 0 0>; /*ending*/ - backlight_index = <0>; + backlight_index = <0xff>; }; vbyone_1{ model_name = "public_1region"; @@ -186,7 +185,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 1270 721>; /*screen_widht, screen_height*/ range_setting = < 4240 4800 /*h_period_min, max*/ 2200 2790 /*v_period_min, max*/ @@ -223,7 +222,7 @@ 2 0 0 10 /*signal disable*/ 0 0 0 500 /*panel power*/ 0xff 0 0 0>; /*ending*/ - backlight_index = <0>; + backlight_index = <0xff>; }; vbyone_2{ model_name = "public_2region_120hz"; @@ -232,7 +231,7 @@ 3840 2160 /*h_active, v_active*/ 4400 2250 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ @@ -266,16 +265,16 @@ 2 0 0 10 /*signal disable*/ 0 0 0 500 /*panel power*/ 0xff 0 0 0>; /*ending*/ - backlight_index = <0>; + backlight_index = <0xff>; }; - vbyone_3{ + vbyone_6{ model_name = "public_2region_144hz"; interface = "vbyone"; /*lcd_interface(lvds, vbyone)*/ basic_setting = < 3840 2160 /*h_active, v_active*/ 4096 2235 /*h_period, v_period*/ 10 /*lcd_bits*/ - 16 9>; /*screen_widht, screen_height*/ + 695 391>; /*screen_widht, screen_height*/ range_setting = < 4096 4800 /*h_period_min, max*/ 2196 6750 /*v_period_min, max*/ @@ -309,7 +308,7 @@ 2 0 0 10 /*signal disable*/ 0 0 0 500 /*panel power*/ 0xff 0 0 0>; /*ending*/ - backlight_index = <0>; + backlight_index = <0xff>; }; p2p_0{ model_name = "p2p_ceds";