Open hicode002 opened 4 days ago
I also tried 6.12.1,but I met a lot of problems,such as no remoteproc,no wcnss ,no sensors. And the display did not work either. Here is my commit. https://github.com/msm8916-mainline/linux/commit/d1b9a6432d62da0b48291fa37df7be6e7ee8fdea#diff-5cb7c3979328780f5c2f46cdc2be9e4764d0a0fb87251bef16f2385e5f07de22
Hello, I have a Huawei T1-A21W tablet (msm8916) and I am currently trying to port the display, but have encountered some issues. The display screen of this tablet is boe_nt51017_10_800p_video From the downstream kernel source code, it can be seen that the display of this tablet has been processed in a very special way. There is code for "Huawei, xxx" in the device tree, and Huawei has made additional processing on its own. This is the device tree link of the downstream kernel。https://github.com/hicode002/android_kernel_huawei_hwt1a21w/blob/main/arch/arm64/boot/dts/qcom/huawei_msm8916_t110_p0_a21w/huawei_t110_p0_a21w.dts
However, it should be noted that the device tree extracted from the device does not actually include the following four lines。
But it was replaced with
Then I found the code for Huawei to parse this device tree,。
https://github.com/hicode002/android_kernel_huawei_hwt1a21w/blob/7e3920f2be47387511bb4afdd5681b5895cdae42/drivers/video/msm/mdss/mdss_dsi.c
Then I discovered some interesting issues, such as Huawei using L15 to power the VDDIO of MDSS-DSI, and in fact, they use this function every time the screen is turned on。
it is used to open gpio 32 and 97 before opening the regulator, but they are called vreg, I'm not quite sure。
So based on the information above, I believe that numbers 32 and 97 are just gpio and only need to be opened when powered on. Therefore, I used Linux mdss dsi panel driver generator to generate the panel file and made some modifications (adding gpio, vdd, and vddio)。 Here is the code I have modified https://pastebin.com/KWJ9eTFd Below is the dtsi of the downstream kernel BOE panel。 https://github.com/hicode002/android_kernel_huawei_hwt1a21w/blob/main/arch/arm64/boot/dts/qcom/huawei_msm8916_t110_p0_a21w/hw-panel-boe-nt51017-10-800p-video.dtsi But there is a problem that the dtsi of the downstream kernel is different from the BOE panel code I obtained by decompiling the original device tree in the device!! Here is the code extracted from my device。 https://pastebin.com/mw3nYTiM The descriptions of dsi_lp_mode and dsi_hs_mode inside are different
Now that I have compiled my kernel and used it for startup, my device was initially backlit, but as the display initialized, the screen completely turned off and never lit up again, and there seemed to be no major errors in the logs. The following is the dmesg log of the kernel. https://pastebin.com/RNEVgg8n
I have tried some solutions, such as deleting MIPI_DSI_CLOCK_NON_CONTINUOUS, because I found the following logs in the official lk.
But it doesn't work. Also, I saw someone say it's because my panel uses ESD, which is not supported. Indeed, I saw something related to saw in the downstream kernel.
in https://github.com/Mustang-ssc/android_kernel_huawei_hwt1a21l/blob/android-5.X-stock/arch/arm/boot/dts/qcom/msm8916-pm.dtsi This patch is strange, is it the reason for the black screen? So what should I do next? I am completely trapped now and I need help!!!