From 664db673d4d61abae83a04c040e9efdfeaabded3 Mon Sep 17 00:00:00 2001 From: Zachariah Anderson Date: Tue, 24 Feb 2026 14:24:28 -0800 Subject: [PATCH 1/3] ARM: dts: qcom: Add GPU and Panel to HTC M8 DTB Enable Panel and Adreno GPU on HTC One M8 device tree. --- .../boot/dts/qcom/qcom-msm8974pro-htc-m8.dts | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts b/arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts index 4ff61593c605..1d8344a3d73c 100644 --- a/arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts +++ b/arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts @@ -4,6 +4,9 @@ #include "pm8941.dtsi" #include #include +#include +#include +#include / { model = "HTC One (M8)"; @@ -65,6 +68,50 @@ }; }; +&gpu { + status = "okay"; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + status = "okay"; + + vdd-supply = <&pm8941_l22>; + vddio-supply = <&pm8941_l12>; + vdda-supply = <&pm8941_l2>; + panel@0 { + compatible = "mdss,m8-sharp-novatek-35595"; + reg = <0>; + power-supply = <&pm8941_l12>; + + pinctrl-names = "default"; + pinctrl-0 = <&panel_te_pin>, <&panel_rst_pin>; + backlight-gpios = <&pm8941_gpios 4 GPIO_ACTIVE_HIGH>; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + data-lanes = <0 1 2 3>; + remote-endpoint = <&panel_in>; +}; + +&mdss_dsi0_phy { + status = "okay"; + + vdd-supply = <&pm8941_l22>; + vddio-supply = <&pm8941_l12>; + vdda-supply = <&pm8941_l2>; +}; + &blsp1_i2c2 { clock-frequency = <384000>; @@ -353,6 +400,7 @@ &smbb { status = "okay"; + monitored-battery = <&bat>; }; &tlmm { @@ -398,6 +446,21 @@ bias-pull-down; }; }; + + panel_te_pin: panel-te-state { + pins = "gpio12"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-disable; + }; + + panel_rst_pin: panel-rst-state { + pins = "gpio13"; + function = "gpio"; + bias-disable; + power-source = ; + qcom,drive-strength = ; + }; }; &usb { From 1a5ed700567e9ee8cfb23b4dc33c96ac8efb6805 Mon Sep 17 00:00:00 2001 From: Zachariah Anderson Date: Tue, 24 Feb 2026 14:30:24 -0800 Subject: [PATCH 2/3] drm/panel: Add M8 Sharp Novatek 35595 DSI panel driver Sharp 1080p command mode DSI panel with Novatek 35595 controller and DCS backlight. Found in the HTC One M8. --- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + .../drm/panel/panel-m8-sharp-novatek-35595.c | 359 ++++++++++++++++++ 3 files changed, 370 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-m8-sharp-novatek-35595.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 4f280c890fe7..fcac3e04ddc7 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -395,6 +395,16 @@ config DRM_PANEL_LG_SW43408 pixel. It provides a MIPI DSI interface to the host and has a built-in LED backlight. +config DRM_PANEL_M8_SHARP_NOVATEK_35595 + tristate "M8 HTC Sharp Novatek 35595 DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select VIDEOMODE_HELPERS + help + DRM panel driver for the HTC M8 Sharp Novatek 35595 command mode panel. This panel receives + video data via DSI. + config DRM_PANEL_MAGNACHIP_D53E6EA8966 tristate "Magnachip D53E6EA8966 DSI panel" depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 9d0c9f111df1..fb5494308681 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_DRM_PANEL_LINCOLNTECH_LCD197) += panel-lincolntech-lcd197.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_LG_SW43408) += panel-lg-sw43408.o +obj-$(CONFIG_DRM_PANEL_M8_SHARP_NOVATEK_35595) += panel-m8-sharp-novatek-35595.o obj-$(CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966) += panel-magnachip-d53e6ea8966.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o obj-$(CONFIG_DRM_PANEL_NEWVISION_NV3051D) += panel-newvision-nv3051d.o diff --git a/drivers/gpu/drm/panel/panel-m8-sharp-novatek-35595.c b/drivers/gpu/drm/panel/panel-m8-sharp-novatek-35595.c new file mode 100644 index 000000000000..40c256465eca --- /dev/null +++ b/drivers/gpu/drm/panel/panel-m8-sharp-novatek-35595.c @@ -0,0 +1,359 @@ +// SPDX-License-Identifier: GPL-2.0-only +// Copyright (c) 2026 FIXME +// Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree: +// Copyright (c) 2013, The Linux Foundation. All rights reserved. (FIXME) + +#include +#include +#include +#include +#include +#include + +#include