-
Notifications
You must be signed in to change notification settings - Fork 343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add lk1st support for Huawei Mediapad T1-A21W #460
Open
hicode002
wants to merge
4
commits into
msm8916-mainline:legacy
Choose a base branch
from
hicode002:legacy
base: legacy
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+270
−16
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// SPDX-License-Identifier: BSD-3-Clause | ||
|
||
/dts-v1/; | ||
|
||
#include <skeleton.dtsi> | ||
|
||
|
||
/ { | ||
qcom,msm-id = <206 0>; | ||
qcom,board-id = <8017 4>; | ||
model = "Huawei Mediapad T1-A21W"; | ||
compatible = "huawei,hwt1a21w","qcom,msm8916", "lk2nd,device"; | ||
|
||
|
||
panel { | ||
compatible = "huawei,hwt1a21w-panel"; | ||
qcom,mdss_dsi_boe_nt51017_10_800p_video { | ||
compatible = "huawei,boe-nt51017"; | ||
}; | ||
}; | ||
}; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
226 changes: 226 additions & 0 deletions
226
lk2nd/panel/generated/lk_panel_boe_nt51017_10_800p_video.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,226 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
// Copyright (c) 2024 FIXME | ||
// Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree: | ||
// Copyright (c) 2014, The Linux Foundation. All rights reserved. (FIXME) | ||
|
||
#ifndef _PANEL_BOE_NT51017_10_800P_VIDEO_H_ | ||
#define _PANEL_BOE_NT51017_10_800P_VIDEO_H_ | ||
|
||
#include <mipi_dsi.h> | ||
#include <panel_display.h> | ||
#include <panel.h> | ||
#include <string.h> | ||
|
||
static struct panel_config boe_nt51017_10_800p_video_panel_data = { | ||
.panel_node_id = "qcom,mdss_dsi_boe_nt51017_10_800p_video", | ||
.panel_controller = "dsi:0:", | ||
.panel_compatible = "qcom,mdss-dsi-panel", | ||
.panel_type = 0, | ||
.panel_destination = "DISPLAY_1", | ||
/* .panel_orientation not supported yet */ | ||
.panel_framerate = 60, | ||
.panel_lp11_init = 1, | ||
.panel_init_delay = 0, | ||
}; | ||
|
||
static struct panel_resolution boe_nt51017_10_800p_video_panel_res = { | ||
.panel_width = 800, | ||
.panel_height = 1280, | ||
.hfront_porch = 164, | ||
.hback_porch = 136, | ||
.hpulse_width = 8, | ||
.hsync_skew = 0, | ||
.vfront_porch = 56, | ||
.vback_porch = 42, | ||
.vpulse_width = 4, | ||
/* Borders not supported yet */ | ||
}; | ||
|
||
static struct color_info boe_nt51017_10_800p_video_color = { | ||
.color_format = 24, | ||
.color_order = DSI_RGB_SWAP_RGB, | ||
.underflow_color = 0xff, | ||
/* Borders and pixel packing not supported yet */ | ||
}; | ||
|
||
static char boe_nt51017_10_800p_video_on_cmd_0[] = { | ||
0x83, 0x96, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_1[] = { | ||
0x84, 0x69, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_2[] = { | ||
0x95, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_3[] = { | ||
0x91, 0xc0, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_4[] = { | ||
0x92, 0x57, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_5[] = { | ||
0x93, 0x20, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_6[] = { | ||
0xa9, 0xff, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_7[] = { | ||
0xaa, 0xfa, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_8[] = { | ||
0xab, 0xf3, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_9[] = { | ||
0xac, 0xed, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_10[] = { | ||
0xad, 0xe7, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_11[] = { | ||
0xae, 0xe2, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_12[] = { | ||
0xaf, 0xdc, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_13[] = { | ||
0xb0, 0xd7, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_14[] = { | ||
0xb1, 0xd1, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_15[] = { | ||
0xb2, 0xcc, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_16[] = { | ||
0x99, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_17[] = { | ||
0x83, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_18[] = { | ||
0x84, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_19[] = { | ||
0xf5, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_20[] = { | ||
0x96, 0x40, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_21[] = { | ||
0x83, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_22[] = { | ||
0x84, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_23[] = { | ||
0x96, 0x00, 0x15, 0x80 | ||
}; | ||
static char boe_nt51017_10_800p_video_on_cmd_24[] = { | ||
0xf5, 0xfa, 0x15, 0x80 | ||
}; | ||
|
||
static struct mipi_dsi_cmd boe_nt51017_10_800p_video_on_command[] = { | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_0), boe_nt51017_10_800p_video_on_cmd_0, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_1), boe_nt51017_10_800p_video_on_cmd_1, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_2), boe_nt51017_10_800p_video_on_cmd_2, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_3), boe_nt51017_10_800p_video_on_cmd_3, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_4), boe_nt51017_10_800p_video_on_cmd_4, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_5), boe_nt51017_10_800p_video_on_cmd_5, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_6), boe_nt51017_10_800p_video_on_cmd_6, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_7), boe_nt51017_10_800p_video_on_cmd_7, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_8), boe_nt51017_10_800p_video_on_cmd_8, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_9), boe_nt51017_10_800p_video_on_cmd_9, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_10), boe_nt51017_10_800p_video_on_cmd_10, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_11), boe_nt51017_10_800p_video_on_cmd_11, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_12), boe_nt51017_10_800p_video_on_cmd_12, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_13), boe_nt51017_10_800p_video_on_cmd_13, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_14), boe_nt51017_10_800p_video_on_cmd_14, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_15), boe_nt51017_10_800p_video_on_cmd_15, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_16), boe_nt51017_10_800p_video_on_cmd_16, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_17), boe_nt51017_10_800p_video_on_cmd_17, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_18), boe_nt51017_10_800p_video_on_cmd_18, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_19), boe_nt51017_10_800p_video_on_cmd_19, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_20), boe_nt51017_10_800p_video_on_cmd_20, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_21), boe_nt51017_10_800p_video_on_cmd_21, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_22), boe_nt51017_10_800p_video_on_cmd_22, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_23), boe_nt51017_10_800p_video_on_cmd_23, 0 }, | ||
{ sizeof(boe_nt51017_10_800p_video_on_cmd_24), boe_nt51017_10_800p_video_on_cmd_24, 0 }, | ||
}; | ||
|
||
|
||
static struct mipi_dsi_cmd boe_nt51017_10_800p_video_off_command[] = { | ||
}; | ||
|
||
static struct command_state boe_nt51017_10_800p_video_state = { | ||
.oncommand_state = 0, | ||
.offcommand_state = 0, | ||
}; | ||
|
||
static struct commandpanel_info boe_nt51017_10_800p_video_command_panel = { | ||
/* Unused, this is a video mode panel */ | ||
}; | ||
|
||
static struct videopanel_info boe_nt51017_10_800p_video_video_panel = { | ||
.hsync_pulse = 1, | ||
.hfp_power_mode = 0, | ||
.hbp_power_mode = 0, | ||
.hsa_power_mode = 0, | ||
.bllp_eof_power_mode = 1, | ||
.bllp_power_mode = 1, | ||
.traffic_mode = 2, | ||
/* This is bllp_eof_power_mode and bllp_power_mode combined */ | ||
.bllp_eof_power = 1 << 3 | 1 << 0, | ||
}; | ||
|
||
static struct lane_configuration boe_nt51017_10_800p_video_lane_config = { | ||
.dsi_lanes = 4, | ||
.dsi_lanemap = 0, | ||
.lane0_state = 1, | ||
.lane1_state = 1, | ||
.lane2_state = 1, | ||
.lane3_state = 1, | ||
.force_clk_lane_hs = 1, | ||
}; | ||
|
||
static const uint32_t boe_nt51017_10_800p_video_timings[] = { | ||
0x98, 0x22, 0x16, 0x00, 0x4a, 0x4c, 0x1c, 0x26, 0x1a, 0x03, 0x04, 0x00 | ||
}; | ||
|
||
static struct panel_timing boe_nt51017_10_800p_video_timing_info = { | ||
.tclk_post = 0x04, | ||
.tclk_pre = 0x1b, | ||
}; | ||
|
||
static struct panel_reset_sequence boe_nt51017_10_800p_video_reset_seq = { | ||
.pin_state = { 1, 0, 1 }, | ||
.sleep = { 1, 20, 120 }, | ||
.pin_direction = 2, | ||
}; | ||
|
||
static struct backlight boe_nt51017_10_800p_video_backlight = { | ||
.bl_interface_type = BL_DCS, | ||
.bl_min_level = 1, | ||
.bl_max_level = 255, | ||
}; | ||
|
||
static inline void panel_boe_nt51017_10_800p_video_select(struct panel_struct *panel, | ||
struct msm_panel_info *pinfo, | ||
struct mdss_dsi_phy_ctrl *phy_db) | ||
{ | ||
panel->paneldata = &boe_nt51017_10_800p_video_panel_data; | ||
panel->panelres = &boe_nt51017_10_800p_video_panel_res; | ||
panel->color = &boe_nt51017_10_800p_video_color; | ||
panel->videopanel = &boe_nt51017_10_800p_video_video_panel; | ||
panel->commandpanel = &boe_nt51017_10_800p_video_command_panel; | ||
panel->state = &boe_nt51017_10_800p_video_state; | ||
panel->laneconfig = &boe_nt51017_10_800p_video_lane_config; | ||
panel->paneltiminginfo = &boe_nt51017_10_800p_video_timing_info; | ||
panel->panelresetseq = &boe_nt51017_10_800p_video_reset_seq; | ||
panel->backlightinfo = &boe_nt51017_10_800p_video_backlight; | ||
pinfo->mipi.panel_cmds = boe_nt51017_10_800p_video_on_command; | ||
pinfo->mipi.num_of_panel_cmds = ARRAY_SIZE(boe_nt51017_10_800p_video_on_command); | ||
memcpy(phy_db->timing, boe_nt51017_10_800p_video_timings, TIMING_SIZE); | ||
phy_db->regulator_mode = DSI_PHY_REGULATOR_LDO_MODE; | ||
} | ||
|
||
#endif /* _PANEL_BOE_NT51017_10_800P_VIDEO_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try not to add irrelevant changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK