From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B6043537F2 for ; Sat, 11 Apr 2026 12:10:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909455; cv=none; b=We+4ymlyYcWCIAweMVAze7oU/3mpIfTPjge/jqQkaH4LRaNFPdQ+LA12UEeh8JzdMHKo2Mhv3ehS8hJb1iC9ArYEc3FP9ypoKR6WpUHn3jpsMp1MFCkYFZVikkGE6n3ihNfreDfln4RYo3dQVpSw2Y6JYTR4NC5jGCvFHd7kACo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909455; c=relaxed/simple; bh=USkwXBfci9sIWJW06UXbOmxrqKMlrITA2EN65WJiKAk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MlXiDWZ8OGTllzkSGpiYrFO4v0hzXGB8xyeGkDc9r6mAfhz2Ix3ryXlJMc2uLJjo4pU26qo/1hCgg6AITOb9bXKBlNP1I0+q5rKXBqeZT8h6qrlFme03rXTYLrW+MVF1gGvNxFCVRK+cOLQBlAdIVxZm18cvnC7j1R+jMDgDov8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=feTuxqXs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hC7wq1Sa; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="feTuxqXs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hC7wq1Sa" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B43QrA621302 for ; Sat, 11 Apr 2026 12:10:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ETYWoaJyM9VmKmVawKGSIxoRtEFEsHcnX/Tz5qCocnY=; b=feTuxqXsGcTt9uq/ 6+2xm7UTQX8lQOiyqNWortvOz2yCLVQTs7BBZJ1ZnMLMjdqsAtQL/UiclIiiJ98J v6XJla6kY71vBQA7bfIKMK3SNOVYqEkSVgYCQCtbc3203EGPa0jPDpWk3WqH1HNR KAozu5PgpJsZvq3d35M7etgA4OQ7KCD1Yi51YFraLxADgDbMglU0sr0sGCrE5CYY S+hcQvV1/Rrh01qjSCbVOTLbltrd7EdOgXUVcgT4357hU3YNWS3cS9HboaYLcK2a GqcXni2mQXoDrvtCWWLIYXrUy2xEcDELvzcBPS6/CkBJu3QH5Rm0h1YBlmYi5akw +snIjQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexfrn9x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:10:52 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50d68dbb77bso19110021cf.2 for ; Sat, 11 Apr 2026 05:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909452; x=1776514252; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ETYWoaJyM9VmKmVawKGSIxoRtEFEsHcnX/Tz5qCocnY=; b=hC7wq1SajOc10T4tCXS2/h0sIjZ+lJcE/98pfGFT03LWyPV7XAuDsZME8EPsFWzYi7 uZI4CkF8eEvb4IyavcR0XjHL2Hzzxejc3fcVpyIZDISN6h9A6j08gGJnfge+lkmnk9OR ZlsA2kL582eusj/0nt+XLUtHE/FZgGFw330JiDJsQhEOCunJoWdIAtZ3ZvDWxdNlJpec LneZ3T9q8fPLWczE3VQeNoODZJAGNoHMfYS48SogHKKu9os7rF7hVp/rBMtsYDLO7Iba 6glq1AcNmMKyvfgOfbAh5ql4fUIxzTwCwxuBLrf7L2/sHkrJNItGiO/CF+4kDpt6vrx/ viCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909452; x=1776514252; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ETYWoaJyM9VmKmVawKGSIxoRtEFEsHcnX/Tz5qCocnY=; b=qQNGbDZ7samLRgObxXNaHnjQl9CYxvYCupnbtOXEGgdS+kxezXQEANrBzJSAq9NYR8 0dGccJ5ew74GG7Ix0VZ15m76gh6rWgClAZ6R8Cgr+sS2tvPE8JVr1Q6uWja1C1KgyZJX MWebuA9NVrJibWCOp0w12Z3vDcBU6ILQsmuVrTFEjUGYQ8g8422MekugQp8tLwPnJc1u 7fGi7rNk6NxYMhwBoak/f98TsYjNITvKysMN9ZQ81wcnOylDysmzHVxjfCino/Cr/kl3 adJmIm9zRe3ji5ahY8hFtY7IsicfHweupk82tyY1UnG22aild8UFp5t6sWh2duuEYr8v xSMw== X-Forwarded-Encrypted: i=1; AJvYcCWPEjroB8ltVIp+YjYVcAgtpcQFVyepgzkR+rl/kaIy7lyxj8RVUoIU/BXh/Nrib2dg5WIXDE0OYBQtyr4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7gLH7u8JG59l/R4TO3bi2mCE2UowAoDIMzYEejL/AZSEsIbIt kq1KT7N2RAbe5/IZJIEGaFtk0i/K0NtzWTMBVOWc6rz4Ut2wvilPKauIA9v2uowmlsZzPKGoyET wiv+bYDXm6kUN/hqx+XUt4tK1hor5vHe0EOF8n4JqjPQYtO7Iuk6BntijCCS+DEWfHW4= X-Gm-Gg: AeBDietFC5dcTlQKYBW/fT83f0DVTLFSmDprzC8hOaX3keWo8ui02bvgvND/nJH6rZI TEdYfy3wOKZf3CQjvrY4uGbrXVqJK4mhtNalOjijFb0sVx2pLCL4CVn9Jk9c5QXIihal7Vvf/Dr STNkfUzuLuMsdzq/zopwhUfyMmjNW/DpzXweouYdvE/6zV6ooDM94gJIXdcA4us0zgO2MBbU3be r4T+sOVn0f+co0E4UQAKNR4Frw5IRnx4Eiq4QW6lYx4yLo2fle48XdYe3rKeZlTTMgtb3AMmLEm t+JZtZbcgtrERqxNzUBhw3nZ2i4Cehw2D8y62CkSnLRd5pBTY5CpLBNSAcl9CE6iPMWgtNEiW2n DnM/xzMXO+vtEPlR8wDdv3jsJhzDmb/5BTFKjpktIZ0epXj4R5JFKDi9VAtZghDrgARYOn9dZ9c V0QMIlOJW/yZsF0pQP4tbhzPfw4FXy+QyC0T8= X-Received: by 2002:a05:622a:1985:b0:50b:2eee:4b38 with SMTP id d75a77b69052e-50dd5ad15e5mr93537491cf.8.1775909451854; Sat, 11 Apr 2026 05:10:51 -0700 (PDT) X-Received: by 2002:a05:622a:1985:b0:50b:2eee:4b38 with SMTP id d75a77b69052e-50dd5ad15e5mr93536911cf.8.1775909451378; Sat, 11 Apr 2026 05:10:51 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:50 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:21 +0300 Subject: [PATCH v2 01/21] dt-bindings: display/panel: himax,hx83102: describe Waveshare panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-1-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1011; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=USkwXBfci9sIWJW06UXbOmxrqKMlrITA2EN65WJiKAk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpEO9zdh8EzzHxiRDkHCUG+msrq/SXCklYuc pmmv0HX3+GJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RAAKCRCLPIo+Aiko 1SH1B/9Cr49LTloTdRXJKJpX7BeidSo8YeqxqZ6HSt8IrpYuMOtkxtPJdf/mPsN6S6m5+af4Cy8 j/ekpWPhZ+dRaXSfhADqSWB+6zFsmKx9n861kfdOryJgk6HAw2v7ttzUmqt9WPApaaXPSyG5Yqo Kq5mASdK+J3ZVqM9lpohHF7rLcxfBMiFbKgMBCDxkgDHLmbg2twHcQunTswlhKdJu+PUCDPoPIa iQE+/Bcx2tfokUjYUZCtDtS9Vgsm1rZ01+AAgUuhRJ1yMPImb21SgwNmjFmM2p04wP1kH5QI3Xy KlooENrA0RQHmqxPTuObwWxhGPTG4l88HVnE4yFiiedUPzoX X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: Vq-Y0kSOfpMDAaR3VVge5NbuIi00NS36 X-Authority-Analysis: v=2.4 cv=OpZ/DS/t c=1 sm=1 tr=0 ts=69da3a4c cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=dDwtKCuX-g0vR4_aJEQA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: Vq-Y0kSOfpMDAaR3VVge5NbuIi00NS36 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX2asB/Hb8Y+07 2ht/EpN6zF2/AY2meb2x2pDflRrtsF/w5idFyZHZZ9m/MZnJVlTdCv3AmZDUBRCcoqDEUNhhvKD kvIFVNC5OgxggrMneNkA6679c8HBtBlW54mO9m4TOnZw8dgyzFzz5Rlq/TXtIPnnEM1njfgaTG3 1iAICtHgws3Cx6uzA3+hLnLQTIzvqe1mzyy+LP3GmOws4I5yKsL3YF5yWoso3TReA39X31TZemT QwwmZL9i4JIi3//uyplaF6pa2sDQ/WpzmJEKEqYatp6LAQ0+Z4My3ggo8nuGsWqY9EC7+J7iNzG NaArd9jdUB2Lvk+eWveiYSEaaNb0hPlxl5QMobQjkiIJAxb6S7zspLX7vFwm27VTY2LfvoYDcCi s2FsJHgfSBas3LKfhAj6jgo+qedSh4Tcfp5w0YwsmcvLB3ctKaVseqpa3uyO+BAHT4iYoJXGDEa 6+yvfV8Hi26EpmYE7Qw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Describe Waveshare 12.3-DSI-TOUCH-A panel which allegedly uses HX83102 as a panel controller. Acked-by: Krzysztof Kozlowski Signed-off-by: Dmitry Baryshkov --- Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx83102.= yaml b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml index 66404b425af3..7667428bf9a8 100644 --- a/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml +++ b/Documentation/devicetree/bindings/display/panel/himax,hx83102.yaml @@ -30,6 +30,8 @@ properties: - starry,2082109qfh040022-50e # STARRY himax83102-j02 10.51" WUXGA TFT LCD panel - starry,himax83102-j02 + # Waveshare 12.3-DSI-TOUCH-A panel + - waveshare,12.3-dsi-touch-a - const: himax,hx83102 =20 reg: --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBB0B3537C8 for ; Sat, 11 Apr 2026 12:10:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909456; cv=none; b=QvBmZ23OFVHV5ZafeS+gUXtZl4B9pXKmGakjXR0n0DRhZybMs4g14S+TaTMv/4qzqUhLdDWoy8yiYPr4QOqJk8F4vMEpY5tnO4aebSakfxKnIxWRwrtP1duXY1nI32pwpwIxoixfhlc4ggExFKJw+fYobneCRpRWl8Xn+vAn1BM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909456; c=relaxed/simple; bh=b6lJFQy4133z0QDWI8Z8xZQHGNeBu8+YH/BZ7Z2AGmc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gJemXEj/g1ManOnth/HCWa9wAXSqWxIpf7UwwHhKnZz+GSQEgwWtdCTv68VKLSByuHgPhfjwVKCMqG1hRF42AQTwscCBdl5Dgmloe/zD+eecwRkcmvSZsOJgeEHVYBWp7lJup63WTr7hR92+729htJdxkL1nIO8/okVm7yog7FY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=dy3MeANw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=b1m3vrvK; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="dy3MeANw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="b1m3vrvK" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B40LRl516990 for ; Sat, 11 Apr 2026 12:10:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EJIKpujoigVEaBknrd4/meAnaGYzGS9Xs4bjoKjmIO8=; b=dy3MeANw3hI3AbSb fcYONsxn2v6I/PqrtBboINr2TWxkwyRT7QsFD8LtH8pjh3OM4Wvn75kxhhDTQDQn P/vmvAePHAqwc07LnF19dfXvqBQMvXEmWT9ws/0A8jw33CAjiifDBt/L2MlzLFVw MPT2ER9ugugYJKdDXinSx61OUzLGa1idxSBeA8PokjwyIxqAaFh4Ldum3jhU9RmT bB1NTaA9wrR3fVBckibOdxW2jImPCw91eFQwHzUvemv5utmFSzHH/KM9QxatBmpC S6hzRHiX+0cAngD17aXNTHIvsLwQoA2Wp6qasE9PC5bQwEsaGEdtkX7oURtQdUnO GKBiBQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfevtgnfu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:10:54 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50d68dbb77bso19110271cf.2 for ; Sat, 11 Apr 2026 05:10:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909453; x=1776514253; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EJIKpujoigVEaBknrd4/meAnaGYzGS9Xs4bjoKjmIO8=; b=b1m3vrvK5bHcCGa96F621TWERXuCOv6mPR4sSsAHajPCEczqvDjTvbySSAcSmoYOOh UIq/b9Whl9mGGRkTqSkD6hs+LuxhpApBg95kQj3Cq0lJzT8YCROmJV3jD2tM0nnU5oJa CVvb4s9UHHC3EA2s/t0Vzm5wrIzsI3RBd95bzVB9xyrTd+OhukREA8RFwhGrEKbDZ+H/ FvRIL84ITrLkNHLzxTgJX+v/sRKepzSNBhvWvM0MkKJiiNwXq4ZHlH3EvgMmkwJ+yy9A YYeEJ1vii6daIkcp5R5GWefPRnJLkLBozCC/Vub/MW+W+MGC+Un8yPBtyPx1i8iQ51XQ gJyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909453; x=1776514253; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EJIKpujoigVEaBknrd4/meAnaGYzGS9Xs4bjoKjmIO8=; b=UUkjmOJ7rHG+r0DdPNYBmZ5qMScCM8vH7Tjn2x6jxlTD6LOkrWwl0chEqxDxfD3Tr4 xJF4ho6pj3QA/ibNLFsy6Wgj8TwVxE6FQSgr8OLXFkKB710UDxibpRgP5DJ9UEOORFYX byxCuIDAX2Z4BYo98OsS9Lm9Hbzhx1l6NLNVhKDwTusCXRsFZv5jPGpLf9cAiwgIYwgM zF3+JQI0rw+aGuiaqJEVxZJdBGzYg+pCSxEvZa/Rn6jiw2BBCfhCCrTqUlBWWVGF7fkG S58eMV6m6r5DzJp9WHfTcfdJGHTfL0kJYI/h8trDaLQg1b8luyom8dqbHQnCjKnGeTxI WCEw== X-Forwarded-Encrypted: i=1; AJvYcCUC3EtgOg4iJzGNgtycbHbiX6qQCmiqVNgtNThOAgxtdQp1HlxezJWjqEEbqbiWDJcC2FHxwQRZ1gy/ebU=@vger.kernel.org X-Gm-Message-State: AOJu0YyElTwzlP+xmtT10bDYDvtdtDGC6SrsQIHBaTX7tz7vdG+ze+6n dzQ0QS4aOAGSETeBDAzNUCnQQpcqAD2oBFWB69Gn4+Cw0QsPMNw+IG6UhVfUwdlNOIz6MF4hL/2 X7lULP+tCcbTwpe+jyF7mxzzdcfzxfx+n5b+nAMhMnQGM5pNcokqGx2IuBEHkGPq/CX8= X-Gm-Gg: AeBDiesM+9V9k7FD7J9OmGFDaHchBuTEBhpV/FJ215p/bTx4Bz6uoJ0XfwQhsnvzhqK n1ZU2XhvwehuMemSVGRw0fduRlF8Q2YLxMDSy3UgFb0XhgxgTs/K4cQ8F/Zqu4wzbRLSJZz/haq YpqbKVh/M+VHfLlnHYzydZZdd2yJ9W0htULVbm9wLbimzCjk2RrNQgTrMfEYUSC+vg6TR697COa 02hPdwTiJVndo4K2wgaz5SMsMVPUOS0UlMM59VHz3vRLNjddqs2dpTzulCPkt2hOde88bOIvyPk s2RWkuQfQqAIxTu0bZqTlMN9Ybni95/tmVVQ0jWXq01ilatYJrMM5yiR6aHXIclzekr/EchBjHG +2iFAuD3E68PAKcADECZnsBbloapupa9Ea35m/DR9Ls/uYoSsJ8la/mE9feSdWtcFqS1IXywpuc WbcsbilRGZuMgzK3F40FSRt7SRoBR4pCZV6LA= X-Received: by 2002:ac8:590a:0:b0:50b:4537:2e21 with SMTP id d75a77b69052e-50dd5c10684mr97349141cf.45.1775909453430; Sat, 11 Apr 2026 05:10:53 -0700 (PDT) X-Received: by 2002:ac8:590a:0:b0:50b:4537:2e21 with SMTP id d75a77b69052e-50dd5c10684mr97348571cf.45.1775909452897; Sat, 11 Apr 2026 05:10:52 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:51 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:22 +0300 Subject: [PATCH v2 02/21] dt-bindings: display/panel: himax,hx8394: describe Waveshare panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-2-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1004; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=b6lJFQy4133z0QDWI8Z8xZQHGNeBu8+YH/BZ7Z2AGmc=; b=owEBbAGT/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpEcItG6KM6cL2R/Xo5i5wx+vf7QMNN5yAHq 4hBuRPZ3MKJATIEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RAAKCRCLPIo+Aiko 1U5yB/dePBkcIcpr6fn0iGCcsez44HsTKognR53WcdondMJIJDoCJ5fvEllYXUxOm7kLDrL9NtH MHbH6HmbUAGNMN8N3qgYZ8pFBktNKhqzU+7DMHoikwFcPNxc+UZOsxB5sGJ/wTi5S1TAPI24l6M lxVfJF9e1/9QZOA1Q0C4xLXPm/7wxOcNtG66VhjjTPh1fmtJdcrHcET61wHs3MayTcUkfW3Nke5 K+FwQ5jSPCIpqQHoVaD83SGFCAfE+iL0slowEETtY/PrOehYA1jMthgcFVDfuz2FQuSFb/b3yPx NijpdzfYJdmRR1Fhe2JhHfy0/prsK/0HM/0QQ5D4z5EKX0Q= X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=RYWgzVtv c=1 sm=1 tr=0 ts=69da3a4e cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=0AHfZW8JlnlOAyLNbMwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: vso60nv6JE8heWge8aCQKzZlbYleA309 X-Proofpoint-ORIG-GUID: vso60nv6JE8heWge8aCQKzZlbYleA309 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX1G2V1mk2hjDn Ikc0k1OddIcDjmdrOyHxrvEXj2dS5oHGvA7Y4dLky4s9GvNE6JqZCs30IqwEUXfSrKQ7hJTDiFn MaGE3ZV+nYhBPn4gC6FblzVOGn10KvkNzY+xxbjIHpgPvSVFNrwaHs4SD+zzop7DNhj7Kn8ht5L jnj/RC9xGzite6h0ufd0ahX4mSzB0JaPOSiiWeyILdP2ujKbpKayKp2oiGXphX681DtyDVgskeJ joztz6qQUfWWOrj8VJQsh5IJJL0g6t3ZgZnCK4DmB69wJe+bSqNdOBq8N0IhC75tt2Bmv9PeTcZ VKFeYTyx/b+kfY8cPjPGhj1tC7H0SOxBxycgUWUJskD/gKYopc3e9dzX59jqmVhSARpNEwHli+X p9AIqBtML4tTdK3wTVdeS8+XfFmL2/j0+vqXW6FghwNCiVpk54euMLivIfLgdjRXgoYM/+3WyMs xdlMNCyDEHa/RpEBJvA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Describe Waveshare 5" and 5" DSI panels which use HX9365-E as a panel controller. Acked-by: Krzysztof Kozlowski Signed-off-by: Dmitry Baryshkov --- Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx8394.y= aml b/Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml index 84e840e0224f..83c343b02835 100644 --- a/Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml +++ b/Documentation/devicetree/bindings/display/panel/himax,hx8394.yaml @@ -23,6 +23,8 @@ properties: - hannstar,hsd060bhw4 - microchip,ac40t08a-mipi-panel - powkiddy,x55-panel + - waveshare,5.0-dsi-touch-a + - waveshare,5.5-dsi-touch-a - const: himax,hx8394 - items: - enum: --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EFEF4175A63 for ; Sat, 11 Apr 2026 12:10:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909459; cv=none; b=Qx0w1UhQjyZstcBQjxQrLFxdhSvZ2tAV6FgeZVrfX/6rktkJB6gnJI7qDLdyAqtQS/3PJLbZR4HeZoox2+iDFJ441F+S53rRymwkjkmt0mHf5ftejWkZuYxIpzm2h8RntZvwaLtGF5hh5aNixMgEadqhgHCb0e6uSMIUXHlsOl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909459; c=relaxed/simple; bh=N8CKm/X1r0MFwLfZruus26Jh9rArudtbcfuT15AgEuo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d4PLw727zefp3nMha0Fk9YuYpYghnPorbQOSq1pRTauWQ8gcuxYjkM5bNkwbdgR8qftygKjPqy0dnEyIIRy9tnKuzjrzhaJVT1e07PBi0U/+ck6LzcjU8KLJtRSQbVGic4G83Ep5hK2qDe+DQE70hRZvm0jaBPukCmDn9LIowLY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=oSoou0Ef; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MhIrynSJ; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="oSoou0Ef"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MhIrynSJ" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B44I1Y623960 for ; Sat, 11 Apr 2026 12:10:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2x5lTfFSzhFGUpvlbYeEl+bXq1HLvTyRTgCgvYE/a3w=; b=oSoou0EfSGTd24/J IwuHKdflu8S1MjylbQOgCulzZKwtb7AgIVxc48XyLZ/kMjm1YFnxPlYPBo4ghrEj wA0OkQ+g3forAM+/eFZgac2mW9vV6ZByqC2s5KgUqFyNusaCIjzhzfN8dDUO+VKu TlQuo8L6MeldkwUmJVDnRv/kvUwNL6yctov3e4EGEnpMSz0hQ0/uulOPCyiAxZst dUyvkcGlIodgWZO6H4bII6nR85nVPYc4GlaX1hNqhg75WR87ANyl3rxAnjbQiQab nSZrMCB7GW0Fg4uF7mEKWyPFNKwAebRpDl8h886610WyWnwZtU4og5QsX2VNryid cqYzow== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexfrna9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:10:56 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50d8c192b3fso49841001cf.1 for ; Sat, 11 Apr 2026 05:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909456; x=1776514256; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2x5lTfFSzhFGUpvlbYeEl+bXq1HLvTyRTgCgvYE/a3w=; b=MhIrynSJmD9gpd00AShODcD5nJJi/EC/Tf91e1G0WxCcUt84PKVLtKHQnRO3doF+zD v+04ZzBgK/Ny7hVhZ3pc/hQzfwUHHFt+JHzymDfok3hGAn1QhuHb9i6BbWemUYT6pVal wik2e8syeiBXH1iyPfvbFKx4T7aMpbgtJMEYwoc4XRqlVbFAHSeIlSE9fvw+lY8Jf9b2 bbRXHu0e37/Drq+RINCKq4ZVc/UnxDDmWndlLZC9SPuROtzj0geyePpg8b4YILC1lFAV Zokd0PmDGdnE80IUflmignm4eDGqg17v3DgkdIQds3mSf0oH+LNvLspCL4FHld5xnqA4 f/jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909456; x=1776514256; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2x5lTfFSzhFGUpvlbYeEl+bXq1HLvTyRTgCgvYE/a3w=; b=KrzBbY4vAv1IL2/iRdvs1A85unq1bCypOuEEQB3ANpJ7CPcYpVMwyZ1XZWiCjyBl0V vBKk7YEJ3VcUgfrXOHbr5nPqu+LDkClaGOKn0iLeO14IhtfBiPl7YzbenrlgX+4axtDa pTRxWQActq4ERSYKlGQ2kG/EnVWIr3S7CYoIuGbcZB8UT0phfh9aS0bGkDnPGIUG7tER BMnVY3/DvqxozWNVFgEPkvhwCMMjgp3Ch/XRh0WsC/zt4KDBLy+bciF0D/EME5bplQex 1mAHTvrHH9mvP5djoG4CHt6QFtqfz55k/4g5lcjd3pko6n0k38+/i1mUOK6UJwTlPy5g OeAA== X-Forwarded-Encrypted: i=1; AJvYcCU5NTQZpm0svkWrCBBueVFYFwQnhKDJHSgDwgqU+YUtyvbY8ldemYKmRbjFUYcMQiPGDgNHuXM3n4tOHNU=@vger.kernel.org X-Gm-Message-State: AOJu0YzmRbBE0Koavw8jXFzaj6a4o8mmCMk68VhnFsyoSBQfKeUGIZqV ROzFigqSFCdvURYbq9vZYy6ttkZZFGL/Bg9bS36Dwo0C9y8e+jGdPaVGCUSrYHr32nNAmYTywAc UgU7A3v5SguinpJI/SbdSx7tWJGWQSoFip9fsu8OvSmAy9lxOJ9FqQVSmgmEgBGl9UXlQV/f5Ji 4= X-Gm-Gg: AeBDies7mpEUKelUkTyKoFtxm/2RVmDw7eprLEknjj633Z1AOgfXd772YcbKnFdV5VU ep+z2sg2+oZ+gw0jcJ8ogenu38lYOmicQUIn2ivWUzxIzTGRFwusb2ZeqUF38c6YIWpUbLKvcjJ Ef8WcxYain1N4zl4PlGZ82QHXjTid9junKZVvxgVGRGGojExuY9JBnhb91srCCZew/nT8m1Zdcu 1eVFjqy6LYvbJFNkOm4Cvao+A+iKqBVPIvgpML+NMTSoQgRMCoOhxwPcFgxCBcZH3bR0/wCYDno oJVG5lFCRzDkH5gkcrCY9RcBlxDKILRJY5lOg/dUJG7gDx6+2bNbgsFdUucksLCZcfp7FEins4e i/lr93f+cN+kempRiTjp6pSZ7Lw/HcahcMApC9Vzc0k//Bbrtksuwz7dx98XhRhXftyxDObbAks jrMKrX8ABeD/B71ajsS+LoAoQ6h2+iKojhY9s= X-Received: by 2002:a05:622a:8d0f:b0:50d:81c4:4c85 with SMTP id d75a77b69052e-50dd5cc1268mr88395341cf.36.1775909456056; Sat, 11 Apr 2026 05:10:56 -0700 (PDT) X-Received: by 2002:a05:622a:8d0f:b0:50d:81c4:4c85 with SMTP id d75a77b69052e-50dd5cc1268mr88394831cf.36.1775909455668; Sat, 11 Apr 2026 05:10:55 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:54 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:23 +0300 Subject: [PATCH v2 03/21] dt-bindings: display/panel: jadard,jd9365da-h3: describe Waveshare panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-3-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1144; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=N8CKm/X1r0MFwLfZruus26Jh9rArudtbcfuT15AgEuo=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ+YtK9eEx0ut3khnZb7PE7VhEMlQFN+ww9pIp1635Owz9 8dqtzo6GY1ZGBi5GGTFFFl8ClqmxmxKDvuwY2o9zCBWJpApDFycAjCRM3rs/8Mypx9e83f27+VT Xv76rX717vFL8rLFBw74rJn5yzJRbWuT8vrqJxUB2g/KGjZe2iF140auW3HpZdX/iqaMJ3n3NZx 2iA5+23Qxqk2z1DVIo1J+0csXvgyecjJ+gXdKgp287mocqc1katK8sCpvXaVszwmLm4VLDsQXid 46+Dt23sOMo6Zp+bpvxVhOP/c1NrPfKRgpoOgm9U3r6T4hFpWJC9T3uk4qszxTXrR7u+y7VfIhM u7h2paCl6Ib10526PNhNl5y4zSb8m4xljodbfODEnJ/CrqXHX5SMX1Zr5t4d8uvil8s4gYaJUYf ai9XdEcZeAX5xi0O3Vfj+u+6+LO4+qKHwUoHdF6ozPkMAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: nmFKNVeNSNqNMAlGfPvLYwD27_q8M77t X-Authority-Analysis: v=2.4 cv=OpZ/DS/t c=1 sm=1 tr=0 ts=69da3a50 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=3ozaZGYpt45I3yT0zMEA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: nmFKNVeNSNqNMAlGfPvLYwD27_q8M77t X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX9dFhwYk0UbbD rq5/WwjMyYEjhkTxDOStVdErNRSwMSWZhBzE9JcYnq/71bFluiGXAGW9OPIOFAwJt0AOPjlh9+o 0eMxCMCmoBD8xJKSpwfL89px2tyhDr0umcnjlswuZHYnupYjX3Da3Q7cIZmLmkgUqbjcuc0F79T XvbS4sQW3B+xe4yo1CE0xwwyCMZZRk5CwNA40haDwpJPzoXsCCfpkbcqDpO20CSAXKg1mv3btnS X5ZmaoJHXivEVg4m14Ee8Nx3VnH42uwkcT2YmW9HtlRQlxX2XAFei8s/b0Q68ie/MYIEaffSwk0 TNuJPRoXzZh52Xv+r/H3NeEFEvRIrzu9wxKKNcEXoRzNPzNqfTo0dHgcNeqWqybIJJRDKHLTBdt VNh7hOnuDtBQhbt5SLwLg6j2lB7mUkfwCZ7tMcFE4bFyhMUHdsCnXlpN0Pu5neIoAH+TzsJpUYO f9rhCWRxYFRezBkgC+A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Describe Waveshare DSI panels which use JD9365 as a panel controller. Acked-by: Krzysztof Kozlowski Signed-off-by: Dmitry Baryshkov --- .../devicetree/bindings/display/panel/jadard,jd9365da-h3.yaml | 6 ++= ++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/jadard,jd9365d= a-h3.yaml b/Documentation/devicetree/bindings/display/panel/jadard,jd9365da= -h3.yaml index e39efb44ed42..4eae802de9fd 100644 --- a/Documentation/devicetree/bindings/display/panel/jadard,jd9365da-h3.ya= ml +++ b/Documentation/devicetree/bindings/display/panel/jadard,jd9365da-h3.ya= ml @@ -24,6 +24,12 @@ properties: - radxa,display-10hd-ad001 - radxa,display-8hd-ad002 - taiguanck,xti05101-01a + - waveshare,3.4-dsi-touch-c + - waveshare,4.0-dsi-touch-c + - waveshare,8.0-dsi-touch-a + - waveshare,9.0-dsi-touch-b + - waveshare,10.1-dsi-touch-a + - waveshare,10.1-dsi-touch-b - const: jadard,jd9365da-h3 =20 reg: --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 361BA33FE0D for ; Sat, 11 Apr 2026 12:10:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909461; cv=none; b=I1bpPSC1TaBHMIqBt3IdRYz1ehoRMQDSO9U18PvKdYBjo8kYC3DokUFb+AK+w6lOriHT5gF5WVSiKdcBwkl/KxTwdsOVFV1mWr+dUk9EPkIricryIa7sTYTnodrjZjdo4X1WRBYxUhic4+s4UhMxH1h3WPCWU8DbOwuY+px97hc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909461; c=relaxed/simple; bh=9BUAPXzA40V6xuiE1cTes3j3rjDbHWpL9QzXZmTLuNE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qCkA7BhlXwCR9hr3Cxuf1hTwRFaAfadLxyc8iVIZVwX2vVeQ4A89xxloMKXA2fTc8wjgmSxlTvJ/TrhuKFYrPBLTe1z4/59ocAwjyqVcYtcCgxx4h013DIix2nzu1WwWkAQWaMw33o2+F88SOr4qiPrpSbIifQ7Mvp3yRZPwaG0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=E9S4tiow; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VRfClOuN; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="E9S4tiow"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VRfClOuN" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B41Mk03377139 for ; Sat, 11 Apr 2026 12:10:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Yu5MwmsD6H0oMm1hsBHM+snwkT5wJGW0nrEZxLfZo1A=; b=E9S4tiowfZFoDsAp TLO9fEv9u+ITc+ygALNIqMhaKy1la1Ow1HP6qBjM9i/YtoZk25SA+3LDsgEGPMrE fu1Y4Ccpe2Imp8T9yfLh1yZL8JIhKpILf1aQdtIm376xRFxaVsMU/KDgH9LqUlB/ wKnWGwTYFbn5j9Aep1382T2gSsLjcSoTiyoVJQkAkxRoSqX/mOzbCLWvE8eBtCAF qMcwrwM6nK2/I95RGk79RFxBP6PJhwIdi/DdawWJb2g48H7ePaiy0oP28iSyuW/z x/KzbyRoWIlX/lKvNEwBth8Xo+dwrMgQEYrkZcbtmCc164bB9TaHBDe5KZUjkilz fYcAiQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfewkrnfk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:10:58 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50da31af14cso26208041cf.1 for ; Sat, 11 Apr 2026 05:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909457; x=1776514257; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Yu5MwmsD6H0oMm1hsBHM+snwkT5wJGW0nrEZxLfZo1A=; b=VRfClOuNHg7zGlxoG0PuZfZaaYw+DyP9IpIocDDlmxPDbzDA0cRThDqDpBHRklULfE oAmr9f83M+JfnV0sAB+7jNATMcMf1lNNJluSe4ym6LMP1ajoua9OqwmlD0QbU9JJGyhM YmPmww+2Wo7r/s884o2gouUpqd1Qiji4pn+rkZqeOv0Uxhd5VPFuhMAqttnVvM474uFP Wfj+4Jimi9NEEyIjnxx3Rekq0qtqW/ogl09WKuzxmSSWPVkRWh5g9glFvQQRzK6C9PoH /wIj15TwB0YbO6HxmjVZVoqJhgSS0js2rdc36bgMQgcsWLAQrSf0MMDwLQQIB7fY2iH4 tIeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909457; x=1776514257; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Yu5MwmsD6H0oMm1hsBHM+snwkT5wJGW0nrEZxLfZo1A=; b=eq8ocufxpbn6L8pzvfl43KwAchNkPZ3omKlcBcJp9/RkksH/hRpHfLruekqkbtxpv4 0bnbhHcv4tWGueRLzg7QHpHJw9HI9khPgxqCezHGxygEUE4FeXgipDiOR3JkZFMRJ22V RLWPMTXMWTUUgNNDMq32yIVh8S7R91BnTIpv2e21m3Cr7vpg605GwdbuvqRcZE1qzS1Q hNa8FcjFBIICyRasaIJIRHxURCFxBWK25P0cEQMpcuUvLKbb3ebiMFZoxaGXjWgRghKK DIKr3bBIodvP+DryUAhlBqBlduEAfSCMIL8Qqv7DwK+2+ciu7lQp1Rv+gvh0Sp09gcI0 8tLA== X-Forwarded-Encrypted: i=1; AJvYcCUtRjFEjOsYjl9af3b7Yr8+9f/3fqeVaWNTlSC4F/Tz6+P+n2rruWl4+vbXZkKFF/HuaT8k54vpcUCYzyY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/GTC3bqI+QS37t4kFd/6FC4o2r4B90u9z3oj0LQPjjO2CxNOY 76SCNyj/OKVZ0zUmCKYRDBlYZlFczaT54zftw2plLw1oxgqLii6pnj0GuOo7ez9+CzAF4PyMZca XLCam7zeIaMwqAbStG/df6aUIlVoJf+y/xNf2XaXAJlTZrqa0ltXVsCiLgQ1Lc3+dshc= X-Gm-Gg: AeBDieu2sieHnSjqPKHnOiSFS8tfZhr2GScccPLkL2rPCBii8FgdY8iVE+bH31736YS NqZsDmBEZAqlSXDZ1NXoEsoFIAmWTld2A8CaJNxg/0mrj+obRh+hKOfcDxmnymRnw4zLgD+zayV EatNghMA0OuzChRpOHv/80bZZ7u4W3gnzOxM+d4UDl1mRJerkHeKaIv0gKUwyjeAcVmZ9141BtG ogK4HK/f1RT0EQk+TBMam/51Kj0tmR3p5pOew+QRDw3hWHIZffyRAcNl0AKn+Z/HZj13POUYxtZ 1lVYnTtBc09VdWuMZD25qpOu0yqe5pq9JZBobwhgmACp9EWID2xQ6J8BaGm4FO15nKgdmmI7+OU nvJL/XczhDsU/h34bQdaXeFXAD62YY/X7DFOHx6VQ0Zw2c0RJMhybfVnWw2VCjfGk/y3ePSfdTS qp2hrziCWcLY78JhzMuQwDGNGK6hhNE867eFY= X-Received: by 2002:ac8:7d86:0:b0:50b:4c84:67ab with SMTP id d75a77b69052e-50dd5b0ff39mr103408941cf.17.1775909457516; Sat, 11 Apr 2026 05:10:57 -0700 (PDT) X-Received: by 2002:ac8:7d86:0:b0:50b:4c84:67ab with SMTP id d75a77b69052e-50dd5b0ff39mr103408311cf.17.1775909457072; Sat, 11 Apr 2026 05:10:57 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:56 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:24 +0300 Subject: [PATCH v2 04/21] dt-bindings: display/panel: ilitek,ili9881c: describe Waveshare panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-4-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1138; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=9BUAPXzA40V6xuiE1cTes3j3rjDbHWpL9QzXZmTLuNE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpFbocrGiN7ZBRTZM2TGbU+Z/32ClbWSrbxz BeQ+4Z1pWyJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RQAKCRCLPIo+Aiko 1aj5B/0c1m3T5bLh6t/sQxLI2Yj3c6WRggvJBal9skVpbLz1FZi2u7tP6Pm0K3KLzfuK4q2tbbz d0jX0pNWROKJx3ah5RXtsUQH8AwxudUdqkbZMp6Vaf053o29bwAt20NwyjmWiHl6K+bFYniIn9T TeaDNTCFYmoHzMZJ5isZuYJIKSyEIGbD93xrVoqqeieuOXmW1MNiWnys/Z6dMnSQC/WCTH3dSv5 fXOMRELsG4AhrxY5HDMwE4mmcOOksaj/DoqB7PDhKoNJQb+12av1ioJHhjnTAb8B6xf9dwrQr/t Zx72oVVLteFTwZcqDFUgCnNWskT0rT/wKsg2znbtKB+xQTF5 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=bcFbluPB c=1 sm=1 tr=0 ts=69da3a52 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=sGmTDZJufn-iKI-mlscA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX8NO6LdTdBkMF CAJMutg2y1gN2p2y2WG8ipYRmB/GxgjfNDv6/ik4eu271cI1fdbFkEHjQrHWfmMbQ+OOryF15SX 0m0QaW61IAn96DDr3FgdCNRLliT8JwYXSsf47fSANI2U7/FkCpqWWsuaqnhAzMhCH7cfflMT99/ oPmRXmmkXLGeLlOyYDauDtJ1A5SfrnaDOGuF2Y3nNYJNTqWeuXApi2m6493ZMFpAYMEcyNHaTRO izmF1IWf0jRsaWgnXsQ9KtfAc7DYQBAmqeGpDTGVCB4GP+YRlE4zeaEEysiF9wEACSL3SK3G5KE a2Tg8QT6c1yhzPz2ZRbOryroaCu1BxhZXwB1UIel44Xa4Pz4YqToEB0agvKdE/jubeBuHm7gSGF bFApXhxyEyn3iDx74D+B2CLijPOt0FzzbevYqUOWQT2rYk7SkLgrDSXKjGHY+2qmwi3pBDoL/BW k9PvjD04hKzaKob+ZgA== X-Proofpoint-ORIG-GUID: Ku49TDOR7GxikxIwEdX4yRc3gqD0D2J2 X-Proofpoint-GUID: Ku49TDOR7GxikxIwEdX4yRc3gqD0D2J2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Describe Waveshare 7" DSI panel which uses ILI9881 as a panel controller. This panel requires two voltags supplies, so add separate iovcc supply. Signed-off-by: Dmitry Baryshkov Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881= c.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.ya= ml index d979701a00a8..42e35986fbf6 100644 --- a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml @@ -24,6 +24,7 @@ properties: - raspberrypi,dsi-7inch - startek,kd050hdfia020 - tdo,tl050hdv35 + - waveshare,7.0-dsi-touch-a - wanchanglong,w552946aaa - wanchanglong,w552946aba - const: ilitek,ili9881c @@ -34,6 +35,7 @@ properties: backlight: true port: true power-supply: true + iovcc-supply: true reset-gpios: true rotation: true =20 --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A40D8344057 for ; Sat, 11 Apr 2026 12:11:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909466; cv=none; b=iRWiyaUs/gf/N808LpHx/lhVdelJbEKEoeRFASf1uPqx/jzrd7QNPSofOVmRjGLoFWqD13MhOYXgwpRXdNTrln06UpSsBHUJgntpAxndFaYcStcMFt9gKhks/ZqcYD2XrfkNYGqWJq5oVq9j0CK6NMtDWF9xwGQWnGgqMA2ZO4k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909466; c=relaxed/simple; bh=Z9LTIc7mkl8iWxx7biEWKT9WKaSV6D0MGLZPFj17wto=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HVls+oD9GJ6sudm7/he9burA7ffCWgDaMvOCQoH8RU+v8pdEELn+oQjCxkx7RF4d4/HTtn8S8X7tx1n+xzR/EuRxdr898ctm6N7xEb6CfCBXyvcg98d8rFNjAHvRafYTSHizQ+78VjVoTJ7VtU8gZ5afDDAZGosJzv7V+AA5SXY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=EITOwlpg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EqToP9cG; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="EITOwlpg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EqToP9cG" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B47ngh1200668 for ; Sat, 11 Apr 2026 12:10:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= B7mkAgduLRIwjHS7HjVchMyGBpOAMFCr+vZmhtUZ640=; b=EITOwlpgdnKjwFHO 48WMXU3hvSeIN3rejsMYcKnMxz2l50VMm8YQVqgvU0wV6X3D3cszHRmijJJEOPWL SjUxUYP3d9ZY105unmjjfJrrgXmgaGIGCVfuxoUo5t9MMAUh89nUqGkjMSLhO1Kb KlWSGcgYL6kiwTeah5Uf8gwiShYV+mkWKIhls1Rk3OJmEhZXNKDLPyW5BhVfU0pq 3eJcjjj0a6CDhvGA5yGld3cB6Nq3KZcgD8Z/BPwoCDC7kmAgMip1MRrfwS0bs4oS mcWrRUdGScta5liECcLCqY3VkdVlRa2HJ2l2IZuNSqr6LapYKPKQcFOZ+s/OIpod kH3q0Q== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dff0jrn8k-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:10:59 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50d890580e1so56896841cf.3 for ; Sat, 11 Apr 2026 05:10:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909459; x=1776514259; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=B7mkAgduLRIwjHS7HjVchMyGBpOAMFCr+vZmhtUZ640=; b=EqToP9cG6F6i77yxV9TAzwHwMoSfnfL7awKFde3nF/VDxtGBhCMvOK+p7kYyPTy4aC arE5Yj7iwLXyyVjFKkd1LS6EE4c+caabbwTSPGKr/nJeevvQRu36GTnseAFZRmjWoPVu 6qvfn5QQBtFcLfSfAmisVTl90JHlRsIfS0WudunrxKT06Aeztu+ePiolnoFZsTyLcqrv B76Yg0G+hrT+NEganjcvtTneaVVsSxbGZ+QSvtohEVJ6HkzFaFZHdkhioxJGLifQdt0W yQsu2EIR3D9W1vJdXRNjGyvvLKzB6PsWFcv4lrQv4su8n+6FiY3mjwgGHOXBdleyMXcd jYIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909459; x=1776514259; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=B7mkAgduLRIwjHS7HjVchMyGBpOAMFCr+vZmhtUZ640=; b=n/qILp/HngNRqgYsAyWLMpaiaJ4hGYE6/qtuYN4XulEE1DDQw7Ui7MyfeIvl7tfGvL /UuhlGYI0P8ZOpJofx6uySMR8hgE90lr+4VtXlZGbFiVx60Zrs0zJHrOzjZM7TOUSZ53 rqbUTJgGB9Apx0BifHNwXjdgNracXASVquWHijIRB83sLmGvVxCAFXn6zDMH7RiENUFV WR975DkUBMP79d3ZNXub36GeDxu0z3pv7YqbzhEpyhThXP3peQoxRLxfu/HcONDfVzpR eIAbm0aELTTrzXO9HtJXUYS1KKpDqjuMvR09XnqqOnaKi4JGnlHnJTv9TjNilfd2BKeu BMEA== X-Forwarded-Encrypted: i=1; AJvYcCVxKegX849rdG1XptVKAQTzdsu0VdEgXTmnyuT8O7/Qv4JYURTfy5s2CPWpVwgNGlacHSgMjMeI/HQ6mN8=@vger.kernel.org X-Gm-Message-State: AOJu0YwTcdyEraDIeP12q2gegRDRGHL9uwfzWH+eURGB2oUFSOAGOGyh z2yR5dWmZx9aTRWbncIx50+B5F+9mRCw+JnKft2wU083TJ5XFSjjild6pyqOSXzcXMsHeOiNVXd I7ZBlvze5CjqkjWQ1qEz2J+mGjzEvzmbC8CV0zAJ5299Zcl1x9Awao1ScIFfcF1bhKM4= X-Gm-Gg: AeBDietOVsi+URo2FQguffc8py3ruRe7rOEuXweLjnuz/dc8mEmbZNOHIlBvdUlTuxu baMOcAFHcaQ9lmRDqBhRm9cW37/8ScSkxaRUn6u64Lcs5yO8tFLaENJtUPSrcqjbqZuhBmFiS0j vEh0LL/5jAFW/qSx/vIZGaBE/JuF6PRC+ExbLNCdgC/H/qHsOZOrJpUi3ScmNrfH2NYts8itl7n 5sVcTGbasTBJKB1iZczyFEmrkml129WddLpdziH1hNc4OqOH81o6szEyauMpvelhOru/RrcofL2 lHOCwUavJQb3IfYpmjkkbx26qQjVfxkgvwicYZ/gBY+HM7uVA0Wvz4679CNUv5dOLQOToepIAAU arpXd0HbfLpgAAfdAsvbFtCb/dMhZOcUc3KwMCl8YKxJ+OBNRD4gNT1g9kQ2emfLWAw3XlTbloc Q/szf5IUbs8aA4emU4QmFm9ki3eDFQTNrmAAY= X-Received: by 2002:a05:622a:59cd:b0:50d:8b40:d97b with SMTP id d75a77b69052e-50dd5ad8ef6mr101502151cf.17.1775909458968; Sat, 11 Apr 2026 05:10:58 -0700 (PDT) X-Received: by 2002:a05:622a:59cd:b0:50d:8b40:d97b with SMTP id d75a77b69052e-50dd5ad8ef6mr101501651cf.17.1775909458536; Sat, 11 Apr 2026 05:10:58 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:57 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:25 +0300 Subject: [PATCH v2 05/21] dt-bindings: dipslay/panel: describe panels using Focaltech OTA7290B Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-5-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2190; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=Z9LTIc7mkl8iWxx7biEWKT9WKaSV6D0MGLZPFj17wto=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpF1TANS4p4rX2cYweDRiiHMA7RoKoPoC9QX c6o/e1yVUaJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RQAKCRCLPIo+Aiko 1WtSCACBJdPTyjoXeeXSRIv58J/lofWPnpp5jcJnhszneW6J3/v4wsakJe1FN4+zbnjl2MKC33B 3+lRHRCxFd8vDAnxX/Wq1+XDBWttO/OaDi6H3XkM+sVPw9Mv1IjZG9gz/MJEQslATnIDIcS0qwH gi15MoN40fxlT4HKJcXm3zy2OFJkRtCW6hXWSc9rxGFEtPQ6pDHqGB+/P0tQ/XqiFFQBAQuP7iT 0GkJp9b9LGX4casWhIoZLMNZ26WsXarMBsGL/Wjex9ATiKgCQVDH9BpwtYZBQ2RcY475rEMhOwq bzXo9vmAyMLfZt5hPeVTyuZamNjIyXMFbFa0vU1K3JyeZY3a X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfXyiCai3ChKHsg WimT9Mj1+jb1eXDKr9YsF8xpxNodO0i2yK1IFbXcqABvFp7g+WK4r/2sD0RLAwynJaCB4Y5WQhg 5k/yH+kOeHWdzJJLVg3rn3Qi2nRy9uYz6VJ34m3tYqYhtK19tYDFC4ndknl7+0wzFXGbDxsuaEY tXhJmilBstsCURf5g0L5ahvYc7fX078TVWqxZSevgvOVLT7MihLXx7p9qf9NkdkWQXgpKBpV8e9 fINQjjDLzfY+JWw8wtJ4aVeqNYiZ8Ec9DheVOrBImph2CB5DSu6EiIj1v0rtL96gPfaTH/HzMuV Q8uK8L2dGAyIXKppdqoTEzaLSMEyIUmpVF7YS0IhSSg2epEUxlaLHWS1vJpYKM4uAiEcwgEWePq V/9NI0ChYdKT8g8Pul0VMfIY8uZ8cHikBxKBTAFPuC7nL0DoS+birPz0X5sTl8bWtz58HpoeBQw BrAvn9BOEXzo9Qp417w== X-Proofpoint-ORIG-GUID: ouq46eJ4kmtUeVkzuBEBAvwaq0Izy-XZ X-Proofpoint-GUID: ouq46eJ4kmtUeVkzuBEBAvwaq0Izy-XZ X-Authority-Analysis: v=2.4 cv=d/LFDxjE c=1 sm=1 tr=0 ts=69da3a53 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=gEfo2CItAAAA:8 a=EUspDBNiAAAA:8 a=QaDNpyu5kUm-e7c-h_IA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=sptkURWiP4Gy88Gu7hUp:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 malwarescore=0 phishscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Add schema for the panels using Focaltech OTA7290B controller. For now there is only one such panel, from the Waveshare 8.8 DSI TOUCH-A kit. Signed-off-by: Dmitry Baryshkov --- .../bindings/display/panel/focaltech,ota7290b.yaml | 70 ++++++++++++++++++= ++++ 1 file changed, 70 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/focaltech,ota7= 290b.yaml b/Documentation/devicetree/bindings/display/panel/focaltech,ota72= 90b.yaml new file mode 100644 index 000000000000..f2f6e254b7de --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/focaltech,ota7290b.ya= ml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/focaltech,ota7290b.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Focaltech OTA7290B DSI panels + +maintainers: + - Dmitry Baryshkov + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + const: waveshare,8.88-dsi-touch-a + + reg: + maxItems: 1 + + vdd-supply: + description: supply regulator for VDD, usually 3.3V + + vdda-supply: + description: supply regulator for VDDA, 7-10V + + vcc-supply: + description: supply regulator for VCCIO, usually 1.5V + + reset-gpios: true + backlight: true + rotation: true + port: true + +required: + - compatible + - reg + - vdd-supply + - vccio-supply + - reset-gpios + +additionalProperties: false + +examples: + - | + #include + + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "waveshare,8.8-dsi-touch-a"; + reg =3D <0>; + vdd-supply =3D <&vdd>; + vccio-supply =3D <&vccio>; + reset-gpios =3D <&gpio 1 GPIO_ACTIVE_HIGH>; + backlight =3D <&backlight>; + + port { + endpoint { + remote-endpoint =3D <&mipi_out_panel>; + }; + }; + }; + }; + +... + --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25E8A355F52 for ; Sat, 11 Apr 2026 12:11:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909466; cv=none; b=dPRsIaonEdDrYV9WdSXn44eJigLJo+5/S8UuIFn8ecRIOBbFhniTwCzgW+gO6o5JqrJRbbFMecEf4XA3hOaQiBTYS7lwyXVJCYgEsRu5GojcfvNK1A4DQyDqWJoSjBa8KXsZLJxNPgRD4wawlLvzHY0Ve236RWjC0iMNUVNK6sk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909466; c=relaxed/simple; bh=bq/ApaAu9Cba0NC2uhfLECwnb5KKZEMKi1G7RCOyYOE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HqBDKwehwrCZQmV/dds2Qj9DzlpMkkX3w/phsxP2fnDsI5/v0FJ/BTfYimv7tiWGuXYHO3NatNXt3ypxDeC9mEkBrQbSurc9PVpV5h1iePTspAjHXU4OxWfHPldviJqU+1w4lP1fKZBA1POdJUfpm4qmSghQiY1KlgsOcaGGXos= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=fDdlQJeL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=do6iB/IL; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="fDdlQJeL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="do6iB/IL" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B40EuN516803 for ; Sat, 11 Apr 2026 12:11:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= GER20aNRyZAzUKwcjDT9x/OFiH7hEb7KOqKA2FbdkL0=; b=fDdlQJeLfUJ/6fnP 4WuAE2oNwfNKdLsfhcknpaOxkpm3LKFlX0RdRq+b/p9mvmH162VbFuE42hNkC8Xf zFDZ5JE96e9JEP52tWvDkVwygdNZBSaFYvVFpwwpQWC2lIgYlKdPBNVXkYbZsbl/ b3eRNKm9G2dTEINWcaEVKLZB4MKrsv3KtATazQoGlHfoavMFvIlAI/BVatMs5zuy Sj7oQmoL3iu11im5gbL/KwPpUl6Cb7vTyl5GP8MSZTNXfTNVdw1SW0i60qppqhca X7oEYk7VS/maaYuX+QlJbe2ky65PBl9O2M4G05LOUcm5GVYBOBvqBiRdzhB8TfxJ x17s4A== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfevtgngh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:01 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b802961ecso36154811cf.1 for ; Sat, 11 Apr 2026 05:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909460; x=1776514260; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GER20aNRyZAzUKwcjDT9x/OFiH7hEb7KOqKA2FbdkL0=; b=do6iB/ILhkkkn0evcjDhHESxrkqgVXbibubfp1/rIdhi4RqjBRrkLt/+5lo98/MiX9 22j4O35wEorE9EpA0eIYhvPkthqhGOLSu9g/p/MoHamtAZLKHSvUQOt9QmFa178Q6TeT yZOHVHJx008wQNSxyTdKzY/HNbLgVPhE7Arw2U09PUVkT+bvFu8SwNAPcUizXYJlKI03 Pr4ii7+kP0SqtXCvrNH2AZKm2VtG7JNdh+zvPV58CnO9sFWsSTuMHiN29a9Xkl3ujbzX rBljCUxdenm69lsRtMnuU3hYkHULDRm8PnELHU3LXyG7MhnGz83+3mEp5KHbX/ign2V4 4U0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909460; x=1776514260; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=GER20aNRyZAzUKwcjDT9x/OFiH7hEb7KOqKA2FbdkL0=; b=mVSQyi/13Jde5KdvI4OBkbO33BkMqixvfwULADH7bJV/l9YkuKD45+Sl0adyuOO0tz eUaCQOWowXvmXcLesMFkinQ6EoCUNsIZOnzSw5IT+zL4CdjMZPkLBS1zaaCD1CsT0ZiF 8C+j9GfbT1KPFjxNgkEUWZpLacSg2sySE+Ao8tXNhV9AznLR9i65b8UJOD2Wpin3c6td TVJqoPhCot+KYhH41ubBYS9CnJowZgF9UeB1BHJQMDDocwDaiG0B4AZOXx553p7/3eGU l10OAsbymfkDSI3vhyyQEMYg30GLTlLNwo8Byti2LP+MQGZqKDdcR56vQ1ixXQkPzPMR pThg== X-Forwarded-Encrypted: i=1; AJvYcCUTUcK5VNPkVRmXeQWN5fvFrwpSpRNsbYHFtI0olReOBH5nQqRMz7QS74i23L6HgIOEAl3dBlA3oTyhWMQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5repSR4cGcgPmxqUJCnc8qvvhBp3CxFBLgxYqDFb+DAeyryCO OD70KV745bzlN2Yidu8aBdCZe7OAFucpbWooqflRIWnuLKLQnNi1oLggFlKQiRt12UI3D8/uzpn V4dmKBJ89eyXT1H7/ZqpglvYr0r423B2enO+pqX13mkDr4QpB4OR49lJjFE0VyNa51mM= X-Gm-Gg: AeBDieveo0yOcSG0VKFJDut13d00rWKe3dLr+XAyI+saolPm/8SMr0RzngBK7EYYFrI +p5iCYjPGDPOopDDFACutkT53G6N+z6ohRe+uUmoFxQEaZsvsWj5L7Kod8Xv5lal9tcCq4Zbxy8 HQJONsuUE+cnmu5xZcwaN0g3Yx+p/O9RsBRs7mxv7bYjvmVAu92iOXFPSjpdQ+zjM6tAl0rvzay z5ERCbUB4Xp3oZ0Nf0g6W/DNV8vTGzemHnKdfdNxXumdgUkOEeMmVZcBGC6hAgvqSMqvgbMxCAg vc7YmG2vSbEowBIuBHFQlOtNQ6R72ZzNBGPw0iQkNvaLN+LEWfm0b8CVDjV0i2jxMEqgTATqpMI 272+KkMisjz1ixMVfSn2gbmf415E2/+yDtdURIYCSNopjzGxHEGKsu8J12AF3TgxFs0pDNd2pm3 VihqsZ/Y250KVjOaiBpBjM0roD8ecAGdRZwNE= X-Received: by 2002:a05:622a:2299:b0:4f1:ba0b:90 with SMTP id d75a77b69052e-50dd5a91f78mr97758941cf.8.1775909460534; Sat, 11 Apr 2026 05:11:00 -0700 (PDT) X-Received: by 2002:a05:622a:2299:b0:4f1:ba0b:90 with SMTP id d75a77b69052e-50dd5a91f78mr97758351cf.8.1775909460029; Sat, 11 Apr 2026 05:11:00 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.10.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:10:58 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:26 +0300 Subject: [PATCH v2 06/21] drm/of: add helper to count data-lanes on a remote endpoint Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-6-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3334; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=bq/ApaAu9Cba0NC2uhfLECwnb5KKZEMKi1G7RCOyYOE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpFtEH514oS6B6o1FC9Zcdoql1nj2N8uYHyI nbiRNU5PjWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RQAKCRCLPIo+Aiko 1dahB/4yloTJ264Ag99K7uwm46uttgOjgWsKsCsqkXWtdhcPQTj/ynjNAQbI/sT1vhT2ZFtKP0i W9MEvdMEc2M8TpRXyAbCbtwMywfr8+wJv4RHWN3JHrppa3vT7SxKm8pr3N+N/3xLSx+fRoHbI+s MaEesitUe/TgtHA29UVd8bt4wgtaFBUBfF4l2ZxqnMre8maSj92zGmDcvWR8qsxqs8fGUeOaUsH u1oNNz2CEEYuqsT/xUuCeZtfapi6f4ARW41ivzbNMD3ycuwkhoAEzG6kUefGoaG1NWEcYwEIpPk fWXiJ5mOlkl8M4VIpMrbzD/Hj1Ii9EP9nDi8RwI/JMREJSsg X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=RYWgzVtv c=1 sm=1 tr=0 ts=69da3a55 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=O3ifdCkKFGgQ8ueZnWQA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: zBV-Cl-YiW8safhh288dVkYGxHKr9BI3 X-Proofpoint-ORIG-GUID: zBV-Cl-YiW8safhh288dVkYGxHKr9BI3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfXwIOj2thrqQ7q 0wtJs3nVUXnIAzibpg+452428SWLMsOHeoWXOCEG9Tles+BlpyyNyXgkaCGgfORuS2vH/HUwHV2 qi5gr30f7tmlGTaeiPjK5FRYoio4e0A4HZLboQ7+EuXZdxQ4+rqyIDjmFI8KubsifugmBFk2pFr yz/3BYh39TrCktZRuu8yknToCnXO8xKBQgIzojX4BUky+z5EiW3y4dcAk+KkKvTC6QnKuKUi5EH hWWhmn6PZQ/wir6SOZ6492lrzbi1SBdN/MQSS5/1KLZjFZQXqitvoiH5tH9ihUTQ4Hvunrpsaix lJ2tO+YVw8K5MqFzgfqYFBT735CllO4nAh96QiMIG/fN5s4b0P54vEJ2yELi04JvFcFEMYDiuF3 uzAhuA+fEfut2W9OyIQBiiP6daKPmDlejf7XKr4lqtvj/8Bgwdcx3JMxEDki3irf6T7feawFwGN B9HzfbT2T336yNNHQPw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 If the DSI panel supports versatile lanes configuration, its driver might require determining the number of DSI data lanes, which is usually specified on the DSI host side of the OF graph. Add new helper as a pair to drm_of_get_data_lanes_count_ep() that lets callers determine number of data-lanes on the remote side of the OF graph. Reviewed-by: Javier Martinez Canillas Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_of.c | 34 ++++++++++++++++++++++++++++++++++ include/drm/drm_of.h | 13 +++++++++++++ 2 files changed, 47 insertions(+) diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index 4f65ce729a47..ef6b09316963 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -558,6 +558,40 @@ int drm_of_get_data_lanes_count_ep(const struct device= _node *port, } EXPORT_SYMBOL_GPL(drm_of_get_data_lanes_count_ep); =20 +/** + * drm_of_get_data_lanes_count_remote - Get DSI/(e)DP data lane count by e= ndpoint + * @port: DT port node of the DSI/(e)DP source or sink + * @port_reg: identifier (value of reg property) of the parent port node + * @reg: identifier (value of reg property) of the endpoint node + * @min: minimum supported number of data lanes + * @max: maximum supported number of data lanes + * + * Count DT "data-lanes" property elements in the remote endpoint and chec= k for + * validity. This variant uses endpoint specifier. + * + * Return: + * * min..max - positive integer count of "data-lanes" elements + * * -EINVAL - the "data-lanes" property is unsupported + * * -ENODEV - the "data-lanes" property is missing + */ +int drm_of_get_data_lanes_count_remote(const struct device_node *port, + int port_reg, int reg, + const unsigned int min, + const unsigned int max) +{ + struct device_node *endpoint, *remote; + int ret; + + endpoint =3D of_graph_get_endpoint_by_regs(port, port_reg, reg); + remote =3D of_graph_get_remote_endpoint(endpoint); + of_node_put(endpoint); + ret =3D drm_of_get_data_lanes_count(remote, min, max); + of_node_put(remote); + + return ret; +} +EXPORT_SYMBOL_GPL(drm_of_get_data_lanes_count_remote); + #if IS_ENABLED(CONFIG_DRM_MIPI_DSI) =20 /** diff --git a/include/drm/drm_of.h b/include/drm/drm_of.h index f2f2bf82eff9..7bcc0ccfe0f4 100644 --- a/include/drm/drm_of.h +++ b/include/drm/drm_of.h @@ -62,6 +62,10 @@ int drm_of_get_data_lanes_count_ep(const struct device_n= ode *port, int port_reg, int reg, const unsigned int min, const unsigned int max); +int drm_of_get_data_lanes_count_remote(const struct device_node *port, + int port_reg, int reg, + const unsigned int min, + const unsigned int max); #else static inline uint32_t drm_of_crtc_port_mask(struct drm_device *dev, struct device_node *port) @@ -140,6 +144,15 @@ drm_of_get_data_lanes_count_ep(const struct device_nod= e *port, { return -EINVAL; } + +static inline int +drm_of_get_data_lanes_count_remote(const struct device_node *port, + int port_reg, int reg, + const unsigned int min, + const unsigned int max) +{ + return -EINVAL; +} #endif =20 #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_DRM_MIPI_DSI) --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9068B33FE0D for ; Sat, 11 Apr 2026 12:11:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909469; cv=none; b=Deo1nyK7RZPMJzUk8So82Zgea+dUVwU6pNfqZaR8HBB0DffGUpUHno0198iE3K/LWJ8HvGhlX4SfVnn9tFLzC1ErAbAK/79SNCsTTxkbIdYtIgNwaFvrOFCeqAMi7GEk+tImcv7W2qOoEFFpybwx5KhR+je9QhYRY6MGah2mBns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909469; c=relaxed/simple; bh=i3q+ZnanPV6G/1cXFp+xLd7TApeXEUOIHGf51LyJVuc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EvLH0LVx6JMp7HZaJ0BGV4k4fp8iOgBS5kCJTR2KPGySymrEk2piyPzob8Cj50C9Zx/GIBUsU4C0qa5uSJ6TzsCnDpJ9fSNzsh8UjbG2npWHlsmwytU0gqGUi3yDLDz+AQDcca7VKaAHXEinTFMKfb6HRK/mlVPQGQL+9iI4saY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PQd9pc7d; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ucj/2+Xz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PQd9pc7d"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ucj/2+Xz" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63BBXNYJ1533669 for ; Sat, 11 Apr 2026 12:11:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= W391/07ZMOVK4atGULPN5+Bm76UZpkvj4qbP9sDT2Og=; b=PQd9pc7dzAmvabk4 0shXHW8K0qZ4q5zBOrVAHGRlysFQNVP5O1BWUvfoTW5GdUYqGPjr7NfGXcjg/rlR cxriMz3KVW9G6oO92ZvzTzrcWqpb1VfpVZiZ8kj9tNMRx+QXwIr8pQ5fYqCEkzMV MP3xzAefC1HPbHd6YRrcyFYycQez94N6Ptkqr7GXfgPr+avflvRHzkcvSiWUStEc 1ga7P2DKEOSD8SSz5IOJlrgMXB4e49NDLuidkhw2rqhFRm5VdbR5ibA8RvlbU5Bo Y5s5r8wLCNMXPMr9uG0Wv6a8nm71fnTCBrJupCzhSeBkBuZ3dzV404ZEk7yHB+jU viqR7g== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexfrnax-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:04 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50b4076dc16so44910681cf.2 for ; Sat, 11 Apr 2026 05:11:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909463; x=1776514263; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=W391/07ZMOVK4atGULPN5+Bm76UZpkvj4qbP9sDT2Og=; b=Ucj/2+Xz0XTFtG3NTFfdQP39v0Up21is3eKPXyGhmPvxjR9PXnZkRV82b2rz/MLupG v2+zyqf9t0Iir9Blg95epp2Ht1JNHs/WTo8x08djArTpiLcM4XbcB4NwouhWhNTyrABs I3OE9n/IJQyyFe1QNKYQS99alkdq6+iqspne7BqsBu6NUMw2/dKXoN5U25YzWbCrE9LM ZMjSdhGMXRasmJ6zOkfTEMfr3mS4D6vak8Bsk2dy6eHXaYeB2RetL8/DqKRqSdIKHY9C caq7TlZi3ml7mUtCaQTtpmsrAWsFz7R3WuB78pVj6hJ5YgpBDExkonUXE3q9c24tAy2K kYXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909463; x=1776514263; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=W391/07ZMOVK4atGULPN5+Bm76UZpkvj4qbP9sDT2Og=; b=Ckz7fGQ0Rust8HEVuhNt5f6mCvbpELKlSWWkna3mXmpklW4JqCGuBh1yu9rlV7pU+o LZJCsxrWGHa/d5UmPOiOQzEzSIqBwoq9nQlaz9kqiEQvVgSqQrCcnoSz7aQjotwXyCce EagLbLjEX29ltz6gBwwoE0XFfrLLxTs2InchwX2AFoV/awWV9sit03fJsfflHGDyWxWt 3D1+Y5h9dcs00o6MbF+JPXj+ZyY/STAWLyfmL6m2EfTruOc3tR8UT9V9EEsswZrenWkc Wm/MejnVLz1YOeMQJIAbu1Q5SIG/OglWm3CCT/sD/MIAMpNH3n36/bk8cvtkdhWvUKWu Qdug== X-Forwarded-Encrypted: i=1; AJvYcCVNTLQLnu+ZWylT/K0DdGt7MiPbhk4vu/U4TlrLkNUDbB4WiumcZnwd9m73waURMSAPCA+TVGh611I/slE=@vger.kernel.org X-Gm-Message-State: AOJu0YwFVGg+CjSST3MBiW0MUYansjKsVtEbR0eQOlJBJAwQP46H+hWo 0rjcCsY+XiplnpjP/Qok76iXGfYuIPHbepwo9dKShgfaXo7qJYmUZ+uz2Elh+ytoprDwDjMyagt ojhuXxSy3s646u+cPpQXwCsZNVPAypimxuf5rDJFX3jCKaEZbHPgqkvgRnXUhMJABlQZ29YnFEy A= X-Gm-Gg: AeBDietrx8Rw0D506r/uVnV8au5juxDFmUcwmu/1vkR1Rv+fdgN8JelXdAn0THgXp4t lYXIdl9lZVHxTQ9xrLG10Q4mOPbBfO1Znn3PtnriWx7gHpN0oExaS/cFBPHgs3bzbEQS6bGyeRc yP0SluJbB3lsTbayum33HwpB8lJAcGWHOtH1rqg6hSLsp2q0Cywx12rg+Lzsk7IGyu5S6STJm/T wlfT+UfdZF6DuANCAiUv26DE3QG5iisy1ClcqeWaHyf+6gXyqRcHaduRFnkDYT4s60OaD9lDITk lhchwuHbjqxfu9ysG4WEZnhH0giSysX0Cc9s13hPzuRVZqIQuEPwVnxa8I11OyDkprR9oxw+n+0 oxKy0RcpvTmNr8v/HYa8dXLw5+vZ7P7qoChMsu8ikuJkxgeH8Xt8atEZxA9EGXGo3KHGi/yw6Ys 9+UAt7Fhs2sGejV0lZyf/K3JwrrJvaRLBPeYg= X-Received: by 2002:a05:622a:2b09:b0:50d:7c4b:5c5b with SMTP id d75a77b69052e-50dd5b9562fmr92999921cf.5.1775909463323; Sat, 11 Apr 2026 05:11:03 -0700 (PDT) X-Received: by 2002:a05:622a:2b09:b0:50d:7c4b:5c5b with SMTP id d75a77b69052e-50dd5b9562fmr92999401cf.5.1775909462797; Sat, 11 Apr 2026 05:11:02 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:00 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:27 +0300 Subject: [PATCH v2 07/21] drm/panel: himax-hx83102: support Waveshare 12.3" DSI panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-7-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=8981; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=i3q+ZnanPV6G/1cXFp+xLd7TApeXEUOIHGf51LyJVuc=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpF8uTwcBObArCbTTBldsTi3CrIuMFueegoj HVb00f0jymJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RQAKCRCLPIo+Aiko 1Yn2B/950ZvwLklYqtNN0LZoJzkZQylRolF2pPKy2ExV1h102ubKyQYlApY1jO9xv0uz37QjpM+ Sj0t1MJAlDUul79GmiNiVUD7fiLaOurr+vKqCJridTBLn7WirF2dLEqeeBiTzq7KVD9da34o7fG bbJpV6+j72KD1KAb/0mopkr42VmnzpXHSKQERCC4bm7TujRk4XmoyWgguFMMf6Z8A1kN7cKVl0j DJJoFjLw5ri8PSjv/n8zgiyNg61r9PobntlJHtdzDqT9KwlfE6Poa6yfY1WmBjsIqpb95C7NKAU Ywod4d01f7C9Pw1UtHpd7RjdPXeN3t7tNzATx07Hm2DSE2nu X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: NExnnuIfimyoMkPQnFeHMA_xshaXV_Nu X-Authority-Analysis: v=2.4 cv=OpZ/DS/t c=1 sm=1 tr=0 ts=69da3a58 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=6dGl3bZOZdHCWiLLNVsA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: NExnnuIfimyoMkPQnFeHMA_xshaXV_Nu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX1Q3Mw8BKDu7c 6gYCYhfay0sluTwZw+TV60c1ZwcapJW0ggRIIfXDNn/XPa/wSTytFeK5N+Yhc2HmHJsCzwWfJvo 7oZGxYNIErFdWCY9aaVKpn6dc8+tdytsYjbwzEBMpQxAOPANGk7UzqpY8MkYeDqmUwSVJR8yt3P aK6Rlzxg3gDsS/m9sP9vv3bB7yoFUrjIydDIUG5p9XYnTAerqiz8wQD+Ja/ORZHOU1giaBCLZaN L+vM03G6dj95fmbnhMlQ1lYt6DKqnNnmc1ezfyXii5AaMTOQ5D1vheHROH8u/VkhPtLeTxmafpJ OoX94GecVck1Lui8XrsX1w6RumVRBOk7DLbqTT9iPXLt5mBDK6ekwsb13Mn8njAMkCov2K5EdL4 3XCrlfkFdvb1UaZNUx0jLxl9Zs42sXM98+0UjQ8Y9V6OKC6IP5WWwj9vOw7ArdVQC0qJUHNjRP3 rJ90dV72JnP/cBgncMQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Add support for the Waveshare 12.3" DSI TOUCH-A panel. According to the vendor driver, it uses different mode_flags, so let the panel descriptions override driver-wide defaults. Signed-off-by: Dmitry Baryshkov Acked-by: Linus Walleij --- drivers/gpu/drm/panel/panel-himax-hx83102.c | 144 ++++++++++++++++++++++++= +++- 1 file changed, 142 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-himax-hx83102.c b/drivers/gpu/drm/= panel/panel-himax-hx83102.c index 8b2a68ee851e..eab67893da86 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx83102.c +++ b/drivers/gpu/drm/panel/panel-himax-hx83102.c @@ -29,11 +29,14 @@ #define HX83102_UNKNOWN_B8 0xb8 #define HX83102_SETEXTC 0xb9 #define HX83102_SETMIPI 0xba +#define HX83102_UNKNOWN_BB 0xbb #define HX83102_SETVDC 0xbc #define HX83102_SETBANK 0xbd #define HX83102_UNKNOWN_BE 0xbe #define HX83102_SETPTBA 0xbf #define HX83102_SETSTBA 0xc0 +#define HX83102_UNKNOWN_C2 0xc2 +#define HX83102_UNKNOWN_C6 0xc6 #define HX83102_SETTCON 0xc7 #define HX83102_SETRAMDMY 0xc8 #define HX83102_SETPWM 0xc9 @@ -78,6 +81,7 @@ struct hx83102_panel_desc { } size; =20 bool has_backlight; + unsigned long mode_flags; =20 int (*init)(struct hx83102 *ctx); }; @@ -765,6 +769,111 @@ static int holitech_htf065h045_init(struct hx83102 *c= tx) return dsi_ctx.accum_err; } =20 +/* This is HX83102-E, assuming commands are the same as the normal HX83102= */ +static int waveshare_12_3_a_init(struct hx83102 *ctx) +{ + struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D ctx->dsi }; + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETEXTC, 0x83, 0x10, 0x2e); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0xcd); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_BB, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSPCCMD, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPCTRL, 0x67, 0x2c, 0xff= , 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_BE, 0x11, 0x96, 0x= 89); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_D9, 0x04, 0x03, 0x= 04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPOWER, + 0x10, 0xfa, 0xaf, 0xaf, 0x33, 0x33, 0xb1, 0x4d, 0x2f, 0x36, + 0x36, 0x36, 0x36, 0x22, 0x21, 0x15, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETDISP, + 0x00, 0xd0, 0x27, 0x80, 0x00, 0x14, 0x40, 0x2c, 0x32, 0x02, + 0x00, 0x00, 0x15, 0x20, 0xd7, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCYC, + 0x98, 0xa0, 0x01, 0x01, 0x98, 0xa0, 0x68, 0x50, 0x01, 0xc7, + 0x01, 0x58, 0x00, 0xff, 0x00, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_B6, 0x4d, 0x4d, 0x= e3); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPTBA, 0xfc, 0x85, 0x80); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_D2, 0x33, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP0, + 0x00, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x08, 0x08, 0x27, + 0x27, 0x22, 0x2f, 0x15, 0x15, 0x04, 0x04, 0x32, 0x10, 0x13, + 0x00, 0x13, 0x32, 0x10, 0x1f, 0x00, + 0x02, 0x32, 0x17, 0xfd, 0x00, 0x10, 0x00, 0x00, 0x20, + 0x30, 0x01, 0x55, 0x21, 0x38, 0x01, 0x55, 0x0f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGMA, + 0x00, 0x0c, 0x1a, 0x23, 0x2b, 0x4f, 0x64, 0x69, 0x6c, 0x64, + 0x77, 0x77, 0x76, 0x80, 0x79, 0x7e, 0x85, 0x9a, 0x97, 0x4d, + 0x56, 0x64, 0x70, 0x00, 0x0c, 0x1a, 0x23, 0x2b, 0x4f, 0x64, + 0x69, 0x6c, 0x64, 0x77, 0x77, 0x76, 0x80, 0x79, 0x7e, 0x85, + 0x9a, 0x97, 0x4d, 0x56, 0x64, 0x76); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPOWER, 0x01, 0x9b, 0x01= , 0x31); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCLOCK, + 0x80, 0x36, 0x12, 0x16, 0xc0, 0x28, 0x40, 0x84, 0x22); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP0, + 0x01, 0x00, 0xfc, 0x00, 0x00, 0x11, 0x10, 0x00, 0x0e, 0x00, + 0x01); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCYC, 0x4e, 0x00, 0x33, = 0x11, 0x33, 0x88); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPTBA, 0xf2, 0x00, 0x02); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETSTBA, + 0x23, 0x23, 0x22, 0x11, 0xa2, 0x17, 0x00, 0x80, 0x00, 0x00, + 0x08, 0x00, 0x63, 0x63); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_C6, 0xf9); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTCON, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETRAMDMY, + 0x00, 0x04, 0x04, 0x00, 0x00, 0x82, 0x13, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETCASCADE, 0x07, 0x04, 0x= 05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP1, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x21, 0x20, 0x21, 0x20, + 0x01, 0x00, 0x03, 0x02, 0x05, 0x04, 0x07, 0x06, 0x1a, 0x1a, + 0x1a, 0x1a, 0x9a, 0x9a, 0x9a, 0x9a, 0x18, 0x18, 0x18, 0x18, + 0x21, 0x20, 0x21, 0x20, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP2, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x20, 0x21, 0x20, 0x21, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x18, 0x18, 0x18, 0x18, + 0x20, 0x21, 0x20, 0x21, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, + 0x98, 0x98, 0x98, 0x98); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETTP1, + 0x00, 0x34, 0x01, 0x88, 0x0e, 0xbe, 0x0f); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_UNKNOWN_C2, 0x43, 0xff, 0x= 10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETPANEL, 0x02); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETDISP, 0x80); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0x80, 0x2a, 0xaa, 0xaa, 0xaa, 0xaa, 0x80, + 0x2a, 0xaa, 0xaa, 0xaa); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xaa, 0xaa); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETGIP3, + 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xf0); + + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, HX83102_SETBANK, 0x00); + + return dsi_ctx.accum_err; +}; + static const struct drm_display_mode starry_mode =3D { .clock =3D 162680, .hdisplay =3D 1200, @@ -920,6 +1029,30 @@ static const struct hx83102_panel_desc holitech_htf06= 5h045_desc =3D { .init =3D holitech_htf065h045_init, }; =20 +static const struct drm_display_mode waveshare_12_3_a_mode =3D { + .clock =3D 95000, + .hdisplay =3D 720, + .hsync_start =3D 720 + 10, + .hsync_end =3D 720 + 10 + 10, + .htotal =3D 720 + 10 + 10 + 12, + .vdisplay =3D 1920, + .vsync_start =3D 1920 + 64, + .vsync_end =3D 1920 + 64 + 18, + .vtotal =3D 1920 + 64 + 18 + 4, + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +}; + +static const struct hx83102_panel_desc waveshare_12_3_inch_a_desc =3D { + .modes =3D &waveshare_12_3_a_mode, + .size =3D { + .width_mm =3D 109, + .height_mm =3D 292, + }, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, + .init =3D waveshare_12_3_a_init, +}; + static int hx83102_enable(struct drm_panel *panel) { msleep(130); @@ -1168,8 +1301,12 @@ static int hx83102_probe(struct mipi_dsi_device *dsi) desc =3D of_device_get_match_data(&dsi->dev); dsi->lanes =3D 4; dsi->format =3D MIPI_DSI_FMT_RGB888; - dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | - MIPI_DSI_MODE_LPM; + if (desc->mode_flags) + dsi->mode_flags =3D desc->mode_flags; + else + dsi->mode_flags =3D MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_VIDEO_SYNC_PULSE | + MIPI_DSI_MODE_LPM; ctx->desc =3D desc; ctx->dsi =3D dsi; ret =3D hx83102_panel_add(ctx); @@ -1220,6 +1357,9 @@ static const struct of_device_id hx83102_of_match[] = =3D { { .compatible =3D "holitech,htf065h045", .data =3D &holitech_htf065h045_desc }, + { .compatible =3D "waveshare,12.3-dsi-touch-a", + .data =3D &waveshare_12_3_inch_a_desc + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, hx83102_of_match); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90725355F54 for ; Sat, 11 Apr 2026 12:11:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909469; cv=none; b=o/Etc/5v+ts2OOVYkMOjkmgmgClqF6wAFxJvizPaQwLaiebQIZcev8RomJXcPR7wE+cH+FC9c0YvmPlIlpXN6w3nkRx89k0UOX+nIc7GZ8uAU6oSrKvwThEl1dO8UyeTMpYbZddYAQTvIcNo6FYWGTqGlEUInF5cikD/Ac7s178= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909469; c=relaxed/simple; bh=DoendjqYMNCpaNDLx5nJc92Y8UtuCTST95sXT4ei12s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=r/Ivubbbmp8JYkQywf2nvM8z+MGqSJgvC3SD3fuRUnextg0tPfYYrKFUQwYbANpRouKbhEuipbEl1LH21RO8bC0n1S06ij8YHT9VZXIa0ioSXwaYJ0+0AwdMC+G3ahhGqw66pectJdAW9FYSeAkA0YQ/4fu9PRTO2VMZMSaDRbs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lvEe87M6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EJpBNkv+; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lvEe87M6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EJpBNkv+" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B43rt22737505 for ; Sat, 11 Apr 2026 12:11:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EacYV252Ylxyrr9FQ/70zKkziBbfMroxAzrIkM+nfi0=; b=lvEe87M6jsa0fiQz EevMhv+vCjFZzcBpxS3nTLtWlAuloiN5msMh/997rSEatRWHi/pXInJFWz91F6vk nS93IpmnyUM+dnagzOc96LAGLqxKjukSRZwiZ8LDE5In6Vy20v26RDQFcvuPYV9L sojz9J7FJTit2DxkU50Br1DNriG1MpoEJdb3E3y67nroorq6WD8PujV4inA2AiSM N4zLggm1lHtXu4T50gZt3hLz9HfPao9gvvTMhBKWK68oRCGLJt2qb/xdz0Mbrmll 6PiCm7CYNexqtlOhgkaMP7lvN8a9lV/dygGiYgX8MDeCA0rUOboNal0NHkXadNJC 6mswyg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexcrn17-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:06 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50d890580e1so56897741cf.3 for ; Sat, 11 Apr 2026 05:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909466; x=1776514266; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EacYV252Ylxyrr9FQ/70zKkziBbfMroxAzrIkM+nfi0=; b=EJpBNkv+Nn0Fm8mU2UTsKtUzZMcKaIKBqGZ1WIKOvObXOhJHAluMayw8gsGAENzxMN VQdAdBa/9yicLMFQSAx1fqBfSOuzwS8IqhluqaAHc5u78g6BxJfWL/REkI1jHude9DQ6 ugnfqKFG/t23tfBbWa4wxR74gd3Hi5qwpVbuRI+r/JNi3qCAPERo3uPBw7BXqOKgn1Y+ 6z9fTAgKgJXEckkJS9lHw+E/x3c+cmBxf6pyfojBsIm4FjqWjS7+VyNTQ8DlWUXyycZx J4Iovw+pIiblOOOT6/Snxqmr3PZ6NB40c3Rr41AuIMvgQBm3woVOGkTIglv6Qg5u8w71 MvuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909466; x=1776514266; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EacYV252Ylxyrr9FQ/70zKkziBbfMroxAzrIkM+nfi0=; b=MrrMLEKtCKb1ARgQoMT1dcNoFeCQP9/l3PsjCDHEo4lKkxkbCKnyGyCJAkvYq31iZq BwfL6z0e3MTCRdBpjoDw1wQgwVoh4+GEK6hYg+m/peuKqjuUlqVeOiUfP8BQaVlvc7l6 LZB9usCH8KTG6j+e+bUWlCwuJs6TWnqJExSJ9jJAbInvykENRoCLsChUOlHDztvwtudI gcAV3Ngi1Vca+Hvv+YhWZS+sCKFahnwyhR6WGmd4FCOu/F0ff0iEe11qOplTk6OTlJAu 9rmnPzwtjPBiNC2zTqq+kaDVSCoDsKwuquGpTgxXkTtzy3L/gbVHdYi6UD/9YsExlGG2 +4Hw== X-Forwarded-Encrypted: i=1; AJvYcCV+9NMXb23ebtwd5RDWdOwv2x8ipkF8sZL01D59k+hyQp+bYVlsR1VRYZD3nV2Ea+Rv7QG9ZBv0kC8NNXI=@vger.kernel.org X-Gm-Message-State: AOJu0YwcwDUbzWrzidqNalp1kHdg0o90SajbrJD1udv+kHiGGHLg/ChZ TFh5rxV0mlBz8ocxgpcJOU1mzvgHC/x7E41gvsgwG2og/k70q9u0DC8kxxgIO2GsU2hMJt2fHkf vxJ+IEI7QQCCbjKouViJ/Fyh2niQ9C3ePCpx7Qbi5DVu+QxEw0/3S2T5OsqhBUY7g5RM= X-Gm-Gg: AeBDievyoLFBVkEJ+GPJfBTViTKTGxHvHScD+slSx19q2NaaH4T0ePqnU+Ow01jOxIA Yj0dUGTcTjY10W6xihu4DDjhuJXYNz0xReYOHMXJpyTUedjxheELyqfkkF1nklNDvMFLVtfPzSA ARDkXwWVbmX1oKUsdi7SG+snl2QoRxNwXL0YL2IISw3FMCKJzA5fCDWPZb7bNAf8KghhvpYKrCP 2/OcpXcwB+8Cc6N2Axor2m2aWXByIFjtktSSIp+rFYexJ/drpNe9//F5kUyX4h/EWC2NVaUbIsw YBogt0+hezX33vsEyrhNseVYrTdZTqvGpA/amAQ/ikT/7y0nyQ5Yw20yTS3UF78m0a+4Tq/WVxD mRNIr7PhWRXK3L4e2waYvFQN2+qHXvU60hxmUqIflNMAjoJ7AZVhafbCDvF1kGoWE9YoZEWKRm/ PqVtCkbHRvx/uFznSQy3fZujncH4oN6IQ8GkM= X-Received: by 2002:a05:622a:1189:b0:50d:7504:b719 with SMTP id d75a77b69052e-50dd5bd1ef1mr100580441cf.52.1775909465970; Sat, 11 Apr 2026 05:11:05 -0700 (PDT) X-Received: by 2002:a05:622a:1189:b0:50d:7504:b719 with SMTP id d75a77b69052e-50dd5bd1ef1mr100579891cf.52.1775909465528; Sat, 11 Apr 2026 05:11:05 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:03 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:28 +0300 Subject: [PATCH v2 08/21] drm/panel: himax-hx8394: set prepare_prev_first Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-8-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1037; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=DoendjqYMNCpaNDLx5nJc92Y8UtuCTST95sXT4ei12s=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpFW0vQ244JNcxKBxL5K1n8VoGz1ZRi3WrEQ 5MkXyOolKCJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RQAKCRCLPIo+Aiko 1VKVB/4ix4mqEZIje288JrijjZjm+C+aALrGxc+Zgv/a4M8FE9MuOwcE/LLV2qNiMBQ2DBwcTM3 Cv5q7Rbyi8yCqXWubKIsKGFzkrxWqqubVpIIRco4W2E7MrAOfqaBH8USgRdOSmYqJYx9gHqGANo FPZE8gnLR9Ytjnn12c0Rn4nsxOe3ksg4j3jwtBK4lpJSd9Ki+j7H8FqXQMzr6dVMP3ffuy/hOjB mlbQ9jyDfbJslkpyXU542botlevdq0Hxe73OcmwOgEYbdJLcj3wp9knZBh+l57zyfAcSwEPkdOU f7iBc+j3jB6DPyIMi0pEMOi7EQbPvpCRmoLJym+b4JBdYJN6 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX8Ct6mMhBxITK mO/ivmCqDBPdtKFrPHtxZbglex+7yLDF/VabwdFVvmWX0gPO0oswE+4DeSFffwx3JHZXHjYl1l6 UcpRvkFXXZ6fMk+5IUA9o0nRMsK5mxaOD0yyNzPl4TcU/2pKUOKPG18Didz343vXg7OMjXgY687 nZUIyYywlaU7zSPhkiEMNP1P1fLx2gnSEq3mBmpqtLVTC/C8bkTEIeBxhV9mw6hc21i+Di7Qqr8 jHw48oSOCJDCX8YYW8XYxwtEg5iLAWnIPRRi+9BaqorT5zt5FPsVVI2voMjTYOXEKQlXHcZadQL BNsR/aSpC504eGS85GTOV61postlQqEolhoSspH7gPXcHUs9gKAYx+XmLNjHqhGFyS9Dd5I7zKV FfcxrckwIfdwIWCPlmGEvnB7Sxa8GyJTWbVA630PQdCyk1KTAteMcCunjBdznkkL5eu+woN28UE ZGZTRmBCjJcBTofMBhw== X-Proofpoint-GUID: 68QUJC2SWv3JSp6ROkOjBJLXxUeehOzk X-Authority-Analysis: v=2.4 cv=MqliLWae c=1 sm=1 tr=0 ts=69da3a5a cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=ic6V0yA_i5s2A4o5CdYA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: 68QUJC2SWv3JSp6ROkOjBJLXxUeehOzk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Sending DSI commands from the prepare() callback requires DSI link to be up at that point. For DSI hosts is guaranteed only if the panel driver sets the .prepare_prev_first flag. Set it to let these panels work with the DSI hosts which don't power on the link in their .mode_set callback. Reviewed-by: Linus Walleij Reviewed-by: Javier Martinez Canillas Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/panel-himax-hx8394.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-himax-hx8394.c b/drivers/gpu/drm/p= anel/panel-himax-hx8394.c index c4d3e09a228d..d64f3521eb15 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx8394.c +++ b/drivers/gpu/drm/panel/panel-himax-hx8394.c @@ -792,6 +792,8 @@ static int hx8394_probe(struct mipi_dsi_device *dsi) if (ret) return ret; =20 + ctx->panel.prepare_prev_first =3D true; + drm_panel_add(&ctx->panel); =20 ret =3D mipi_dsi_attach(dsi); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A7F53537F2 for ; Sat, 11 Apr 2026 12:11:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909470; cv=none; b=uhkIi4HQa+EBTFsHITpzJ0qm+C2jcW5dhHrWNCBc5nyYeJ5JNIzvwLOy/L4KyEAjFUZ+qnNqFDcaCg0W41MnqM8630czIqi7HQ0npgBQTydrJZCUpjtP8ux12Imf1e/WA8nJ1pnYDtKzTfGCjgSA+w7AhM5q96aDUOVTtfSfDJg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909470; c=relaxed/simple; bh=sQ69JX4wAjTsBAqHELNV+ZWRZ1CzDcUvy3hc2w/OnYg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kqnmm1oE6L19ExZNj+HO7fxa9Czq5yb849A2qNiDyCDO7vacbAjqJGEUpg0oI3yM83TByX5SyKayNBgduc0D2wO4k4gdTK24eQY7yLN17vddpvvCHAtYGuAPY1hSJxIUlT+iWgPA4dBbihgwM6ib85Z3WAkVlYKKCE+HQ6VgWT8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=f9lYC/yk; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BUTqfxiD; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="f9lYC/yk"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BUTqfxiD" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B41TfU3377186 for ; Sat, 11 Apr 2026 12:11:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= zzlcIKXiRQAFXIYPSVS0Jyv6z26HXplRvWhk/69wTo0=; b=f9lYC/ykfMzgHbKz u+1tOL6uWiVUlewo1bQRGIoLNx+l2h2R9yliutJKVLK+Lk05HEmwKUVpqkQEkBHm 5UjsxsCM2V+VilxyzuobfM43sp+K2PJn9E5aJYvTzFchrX51ND2OXhsj0a6Q8X6k 5HS/K91DxTiqDT9KaWxzB0RAOw1lZNlZ1o7nXhkWeioLc4x6OV5VrIi7OEh0nRer lBKNv2EVAzMhKYTBkzYstgXCPUe5z5AteC7GGBY93mZBLb6KeAzlaC3hmfKJlluU L2BULYv5KJzOCGreJsiFvsw7pk8CJaSpoMJX/9LXF9rt7m1rW+Uw6lf+nWDJVGER yKuKsA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfewkrng8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:08 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50d5aa81907so70759351cf.0 for ; Sat, 11 Apr 2026 05:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909467; x=1776514267; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zzlcIKXiRQAFXIYPSVS0Jyv6z26HXplRvWhk/69wTo0=; b=BUTqfxiDiy7npTaxKgUJ3x1ni/Rwt2umjJ/SXDL/qAHnVsMrZQswPCXd+ehcF9tovg altLOZw36s6A/Clq1GOjNoInpm6c1HMKjhU7eGHXu+rBTUtYWCtjGs3VhWrT4ubusHpz Tpp+A+P8hL9g/+NxkKkXcJ3t3+ecEXpf1Qw0ITelx5CO4L4Qt8ZJcHX+IxcT+Innuh/B EO39E8OiGo4eFxfrSRbgka0CuxUjq1LbFfseAiYSGvHkIboDhsdoPrhPj1dIbP1fg1x7 kBg0YQM31Jm/fIqzAP0cdATZ4ok8wMnHuz22KhzKXvWJsj5fxrtsaTLVC2OBd9sY7Obz VgaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909467; x=1776514267; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=zzlcIKXiRQAFXIYPSVS0Jyv6z26HXplRvWhk/69wTo0=; b=HKccdOS7VXDsXlIFwS0AiKQf3RtNpczy1T8Sjg9xO9hykItyXEUQss8BrLFCp+r6R3 Rrvj/l0LGJcTD8HVfEZzHNSXEs1KgukO7VADsm4fvFXF0q45cpd69VsTWyzzBQsCEB1n 28I+32MnLPhMr92z/7QRV396l1wpEvRg7UYDlvOSrAzwJP6nAQTjDhn8mVtqPXmw8+H2 /BwcVfPmd0JQIMJ74PWovFBhfXNZFX1s6WHTf2PIXcXATsWjBjQF4yFyNo5PyUAJGkvh uhf2iWSw8zFQgZ7yLj7Wb2LXI1gnQcUh+llZII9EXGZjStywSmbdDdHZuGjP5cEmKdOK 7gHg== X-Forwarded-Encrypted: i=1; AJvYcCVuVCz3i7WGzSy+CssvTHj8ZYBfxpAqTioKhBnoQLlbYPWd5sDLW1SPbQi67ODoMKFVQuO8ppT+90SRsD0=@vger.kernel.org X-Gm-Message-State: AOJu0YyyDUkBnuKv1EkjZYw8KRTEQ/8E1dPibZIIkb6LYTw7JSe4GD4S Ns6CUkt5Uh4batDloykIUDHl83zMG/Nf/v8oGQrgy17B1OZ6oHFXqPUXE8Sl3hEI68jRnIL1TJ5 cxSqqH0K0mB7iDrrYDD7OCaWV9WP916ScYLiEnnw4AAt2XM3K4dbIXn/LN0J/MtUI/UM= X-Gm-Gg: AeBDievHQbXLId85F6qazVBe+7hXgxgFxalb/Li3ay7Kez/ODXY/bZw0bLLK+/mQBM/ 7dWwtUHnM5cpUkdCOqORiJTq2lQ0/S5gl+1TRe8BLyAI8xPSSkEAc4pUXIiAAuEGc5aVzshe9K7 iyBYG5we/CIXDc1bqF5MI/Q9I74c95FxnJeLEVojITXdLJ2RtpyNJJ6GxIrtY00JCT27yXDR+yB AScugxG6QLTavnAP0BGC7otEaOa7sdpqXb0WDdktJcY0c2uZsP4r2sbY5UoB5xhssK4p/lWbkVl WyngQwU0C1z9blNS7STAen87CQsCVu2WYgQfwVyP0o6oZdzCZ6auUTrerZmkxTrcf55xW7hgIE6 AUYBpzGOHg5T2qgehfqdL1DSI5NfQ73rHtS4AEP5alo/7o8WIGS01JQdimP81PmiGdNUpJ9P3cM XO6JeGYT0S9gtuiI1JH9ib3JPz7fKFMlnU0Is= X-Received: by 2002:ac8:7e96:0:b0:509:18f4:6dba with SMTP id d75a77b69052e-50dd5c06e71mr102667451cf.62.1775909467464; Sat, 11 Apr 2026 05:11:07 -0700 (PDT) X-Received: by 2002:ac8:7e96:0:b0:509:18f4:6dba with SMTP id d75a77b69052e-50dd5c06e71mr102666861cf.62.1775909467010; Sat, 11 Apr 2026 05:11:07 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:05 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:29 +0300 Subject: [PATCH v2 09/21] drm/panel: himax-hx8394: simplify hx8394_enable() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-9-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2523; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=sQ69JX4wAjTsBAqHELNV+ZWRZ1CzDcUvy3hc2w/OnYg=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGx5D7SfiEpFn9bSt6u0trVc0NpzEB0RrJT OoQBzvFJPeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1RmHB/9JWCf8L9NIXCDO3qTECUMOtyzDdZesJ/yUw7Y4S4JTmwel0/+y0gWsS24gXFUBxJ1eq67 d1bs+I6WfvYcOC5PfV0Mvl27DEIGf7RPfzpfUP4nbsXSPQLXTUr/B5WXgCmqDVEHYGgZ0r0qtBU jYdnAGyw+parb8dlbrYd7/eN7pZLijj+GKsOnAuyP0VdQDG4MZ83y/GTr0NidCEaYHSRaPL+P51 Jm9TjZbTonJvXXziFuhhE4xm8IPQ08vyPK93IpR7k/jVNXR4wGZLjnPrXOEhb0AMsveota8uObC 7AHuQYCutHkzCEqNPzFwHCoRcE/TAx7URRRgHTBYBGJouNll X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=bcFbluPB c=1 sm=1 tr=0 ts=69da3a5c cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=VwQbUJbxAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=jj6w_h7ptVUN3La3dRgA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX2QzmtF56OVQD qhf0pjEedRfhaia3xrLMEUxHoKZS4yIQWUIhny5zJLRi0UQryWx13AYXADmYN1D6zc50YZrL2TH 3qifrZ1Neahq07Gu4DnGPYG3GEdUIBEgKlXUQTNrq+wynPoh1zf/5znxo83fNpG2SIrOdMEI7gA xgeiis6TDO+JAqJYLUlMziLQJm0eHM+o3bH32pH3ntmV1HLsIXU+6qG7d4HEuRsuRAodMkY7nBe aBRrXgC/tKi/uLdOmL62qAeprYQm85xEWKIcXJGsbEO9CQ1Gh8CZ2PnL/LhZznvbvJNWxTsjAPE pS2d4S+PgJsTBov6V0XOmwRfby0CNXlzCXs5QKK2hc3h6by/yaE6SQ2Z2XfBWffOICYblbgpDs0 brYy02tWGg3pI8NxNXuxK4BpkMOelCdRtGn5ZDw8+Gkxzh3hLna2/OOVafBOT6RDK3HqpVJk09b H2/ZNATYwSz4GYIFH1w== X-Proofpoint-ORIG-GUID: _GK7JKVht0V_ZkcL-nMzs3V1r-T-8Bel X-Proofpoint-GUID: _GK7JKVht0V_ZkcL-nMzs3V1r-T-8Bel X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 adultscore=0 bulkscore=0 phishscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Simplify hx8394_enable() function by using hx8394_disable() instead of open-coding it and mipi_dsi_msleep() instead of manual checks. Reviewed-by: Linus Walleij Reviewed-by: Javier Martinez Canillas Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/panel-himax-hx8394.c | 41 ++++++++++----------------= ---- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-himax-hx8394.c b/drivers/gpu/drm/p= anel/panel-himax-hx8394.c index d64f3521eb15..1f23c50b6661 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx8394.c +++ b/drivers/gpu/drm/panel/panel-himax-hx8394.c @@ -618,47 +618,34 @@ static const struct hx8394_panel_desc hl055fhav028c_d= esc =3D { .init_sequence =3D hl055fhav028c_init_sequence, }; =20 -static int hx8394_enable(struct drm_panel *panel) +static int hx8394_disable(struct drm_panel *panel) { struct hx8394 *ctx =3D panel_to_hx8394(panel); struct mipi_dsi_device *dsi =3D to_mipi_dsi_device(ctx->dev); struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D dsi }; - int ret; - - ctx->desc->init_sequence(&dsi_ctx); - - mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); - - if (dsi_ctx.accum_err) - return dsi_ctx.accum_err; - /* Panel is operational 120 msec after reset */ - msleep(120); - - mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); - if (dsi_ctx.accum_err) - goto sleep_in; - - return 0; - -sleep_in: - ret =3D dsi_ctx.accum_err; - dsi_ctx.accum_err =3D 0; =20 - /* This will probably fail, but let's try orderly power off anyway. */ mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx); - mipi_dsi_msleep(&dsi_ctx, 50); + mipi_dsi_msleep(&dsi_ctx, 50); /* about 3 frames */ =20 - return ret; + return dsi_ctx.accum_err; } =20 -static int hx8394_disable(struct drm_panel *panel) +static int hx8394_enable(struct drm_panel *panel) { struct hx8394 *ctx =3D panel_to_hx8394(panel); struct mipi_dsi_device *dsi =3D to_mipi_dsi_device(ctx->dev); struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D dsi }; =20 - mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx); - mipi_dsi_msleep(&dsi_ctx, 50); /* about 3 frames */ + ctx->desc->init_sequence(&dsi_ctx); + + mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); + + /* Panel is operational 120 msec after reset */ + mipi_dsi_msleep(&dsi_ctx, 120); + + mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); + if (dsi_ctx.accum_err) + hx8394_disable(panel); =20 return dsi_ctx.accum_err; } --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C27C3537DD for ; Sat, 11 Apr 2026 12:11:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909475; cv=none; b=PRUefANVHrjTT3O/CtjqiD46E89fPM1t0bDdX9+pIaWK8AjgzdrTaIiYgk2fYhQKG+XQb2vu+B/oAZY+iza6jQqqkBK1jaugBPVj6plJUu80NjVHQJPCZUIJbHNLJ84lqQ+kDReOxvl0Q7scUwZ6H+5AEkpjP/NvC6H/3LsgvW8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909475; c=relaxed/simple; bh=I07ADQdGhA6Qq6Cx74/dBgFSnA/ZPawbvmK6jOC9m5A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QirxaeE/30/Xnz2ZRpKc4hi7H84dBP1L/GWmH5mXn1b7TBdr+EG4URcJABoZDKSIeAqmtV3sgf2OvE5My83/KRkU9zJZyLy8cIll9F6L8GKhqPiWQyyRJ5jxQkgVsps+5VuMQZQLTc3ZL/4fKmTYkuMFabdxUu7+pTX3ZDWWGss= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=MPe2+g8+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FceNxR1o; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="MPe2+g8+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FceNxR1o" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B43E0D621067 for ; Sat, 11 Apr 2026 12:11:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= OE9S4otYnPCURYdf3I6lpBBdzkvE6LfA12oEggiwvlg=; b=MPe2+g8+t8v7jAJJ a10Fz2mphFP7aU01O0OXBMLtsKWzRDEhr60GZotclbwXXOftB4l21FfK0zGGZFzT cuuGm0+sE7dVzax53U/LAxYxF2o2BB1yR3UXkPDDgybCZf1bV4Wx6nxlQrr2yjxc 28ILevAzBcIatHZxK7n9UZFhFuuWZToswR2GqXzDLZs4vE8utflHjXvNymPaEy+a 4g691nAo0ebKb5HBgxcE/28GpldBycM1NlI/9eSdmzuBaBwtYUsOELkNBXSrYsDH cDXad/FKuo8EBAecThEUpHmiODKY6tNC95I7gprdvem/BVXpS5z1HOhipFRPqhlu rBowGA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexfrnbd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:11 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b274f94f8so62430331cf.1 for ; Sat, 11 Apr 2026 05:11:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909470; x=1776514270; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OE9S4otYnPCURYdf3I6lpBBdzkvE6LfA12oEggiwvlg=; b=FceNxR1osTBIRhCBDWK8ahXiZvKUOdeT8IPQb0iNesRXeYnHxFQ432P3I3LYNfwQmJ f5BYap83Oe0LlxRS0RMQSkHpRx+M+icZaCMzKR/CZCe7c5/TZ5wKdJP4OTaaCJiJLrsQ V68ujV2ede0FnUqOtrhhfiX2ulDVnFMpGqs1e2gqQ+tg8Goz1aE+uNZTDZWBmOD3NUVF B0UsQ1SkqV9MBiTvZauZpwFQUKE1cyFIC7RLABOVVi6enMFPJHxsTAgRx0mSUgxaIbHS 791hQQwjqeb95nM5EOtFwgF50c7LyqSaLQj5hHSh0BKHoBUTtt0AEhJq1BHMPNB5tiBu 1JoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909470; x=1776514270; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=OE9S4otYnPCURYdf3I6lpBBdzkvE6LfA12oEggiwvlg=; b=ZtU4+hvOpBHh7H+cEZoLcj33mhtwvd2wBjb93Y/emF6LXCwYd7nn04dAZnHZEYafAx gdFYTV9hWOejLtWzuSnKCb0Cw2eczjgGhmawha6ZxF1DMJ4PtGilI7QmI7OTNOYhKbxS pPZx0oe8omEZfGTVB0pjdCYZMlluLMLnUEPauq6vDaRhLRiw7ZOVy/oBztOnNUQ4R1sm K8sXVZcL/kKTLtGZnFV45XYQQNDJNdYCWs8OlPYxrvNkP8gFMNbmkjeHni/XAW796mJI mAZGyNEGHRexHFOCbPNRwq3g6fMXlz5uDk/bywfz59ArfzDaeQZvWFDlEWP5YoEgdH6t 0MVg== X-Forwarded-Encrypted: i=1; AJvYcCWHX0DuWumu2XLfB0chZiRgPH70FwKXy0p7EBBwz46KrnqBs27QJ2CA0o5GCA4eUFciv0D+2KQLOZmh+UA=@vger.kernel.org X-Gm-Message-State: AOJu0Ywqgm9wce4py2n63lzaLNllJvzhOzr2KG/UKIXD/NBjHvUvCjWm 9tFAZaiCjfGtihwxer26S4rHhL3UNBPqwzrxu4pPY0XWetVPzU74s3yUf5t7+DGwrp45uTfLjsg jstLxSpQu01n8AOM72LD2jwvoMrNLoN+B3f/sGh5KhkojHlauxuUcPyiqAvVfybndfcY= X-Gm-Gg: AeBDiesrn3ox8XBfXRBWe+RbJnT13iBxkS4QDu7x6fZRClQ615HZTenFGkl1e/782Nm kE1nVsRwXBz110YeFC9IBoCJVqOrsEgmj+icVIZuL5tM+MH1ORFj0v+03f24lc7viFbkCgA8Xye P0iJtOYIuiZjvWIj6OBvaSeXB6ObbcAgvPE/iNWD2GZicMAhpIdpsPKwCYRWTH3G8TIZIq6Jz8s pU3nwsLBN89Vs5rbDEb94mdMzcjGvbmEwb6jj4RFMuCj4uZEh2Vf3Nqz6aVhXc+0vQtllDKl9Bw YyeMowLXj5JtOJFoldwgCFS5rlqPPRgRXcBTzV36joA3tbMI9oLOPtNoYYiVIt0+s159Sdo9u2E /RX3Ab14IN66u0yvm/baBaVLFStx+JavnqQxVFUqw3xktTyc4CTMGjbKzDFKICdskRlCR6fCslq oJNY48Xqe2QdEzodRLMjkKPnjPADUd6njXsp4= X-Received: by 2002:a05:622a:512:b0:50d:8afe:6424 with SMTP id d75a77b69052e-50dd6bcc99fmr84557831cf.26.1775909470326; Sat, 11 Apr 2026 05:11:10 -0700 (PDT) X-Received: by 2002:a05:622a:512:b0:50d:8afe:6424 with SMTP id d75a77b69052e-50dd6bcc99fmr84557521cf.26.1775909469799; Sat, 11 Apr 2026 05:11:09 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:07 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:30 +0300 Subject: [PATCH v2 10/21] drm/panel: himax-hx8394: support Waveshare DSI panels Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-10-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=11490; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=I07ADQdGhA6Qq6Cx74/dBgFSnA/ZPawbvmK6jOC9m5A=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGRgkiOpJEsyGxxgIflBnhTVBM4I+XBxHAR 77IGUFCGSWJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1TApCACE00N2xcVg1AOmc2dNa6N0uv5TQjoCs7/gKucEqo2ljoz7bb35QgEpZx83id43YirJhpX CGK9s+9mEJtV9KdIsaX412r2Xdvo9YPaioMRoGTOo1ktvb0ygSOLGd8YOazI06bg2uvpxbA1jbI 0Xs5NjxayosMfs5OcwqQdzFg2lPbFzh/+L81iTMIz904OIp8IKWS6RTp8h6WNbaO9I+pysT3MEm /ruxishbB9/XDReT7fHaClejCt9bd+jiZTfBXbm+sJq9o39382Z7KXixuJZQeGFXHn7cBotfDjV 2TuZ2Fcv8ag/lY9Hdk+iyS/shO62GvfqZ8HgwLSmxLdoVIUR X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: mBQJNXwH2rYjxM7HGGYVl6XM_D9k93lP X-Authority-Analysis: v=2.4 cv=OpZ/DS/t c=1 sm=1 tr=0 ts=69da3a5f cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=VwQbUJbxAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=8LC8iulc4pHAooHhkrkA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-ORIG-GUID: mBQJNXwH2rYjxM7HGGYVl6XM_D9k93lP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX3eeYhvGttpTM W9DaBJp4oZslCnSSAx7kXzB1iujaQ417Mbtr6eBa4cQ/HpsgT4VlarJqsa3sOZ4DXyetxT3WiLx AAQlxjGsXm1UbzjSMFrKMQTZpqNiLqvDZcP65qIJbUyltoYCMDI+nt0AvYjP62E7hl1NPf3VB0J DMYv0XvNQjrxNzIUIClk7U7LRyecGIeLEpxG8IiMx7r5RF93TPwZpTCh6HZJvVPZF6PAY1JQCBe mE8OpxAg9+L262gQWrt7rWs4h4l6iZsTR/JHrsc6fqnbb7mUg2weEDw1M7ysYpFWIZ/AZI6DJQr rKt0E9B5djkgknVLGgY/Ed/nSEFddi9OkYhahnat4PIn8p2BIz1TQ3bbi6P669ddT4ZQG+YKGo/ 4j7+bKY0g1vHtvKYQ393HX3s5TvjEF99AWsCrZHsRKMmwD4U7ccdBUWYC0qAUExOZFKbDQWQ8qW S43SCjZswhVvEOXAuBA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Enable support for Waveshare 5.0" and 5.5" DSI TOUCH-A panels. Reviewed-by: Linus Walleij Reviewed-by: Javier Martinez Canillas Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/panel-himax-hx8394.c | 244 +++++++++++++++++++++++++= ++++ 1 file changed, 244 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-himax-hx8394.c b/drivers/gpu/drm/p= anel/panel-himax-hx8394.c index 1f23c50b6661..bf80354567df 100644 --- a/drivers/gpu/drm/panel/panel-himax-hx8394.c +++ b/drivers/gpu/drm/panel/panel-himax-hx8394.c @@ -44,6 +44,7 @@ #define HX8394_CMD_SETID 0xc3 #define HX8394_CMD_SETDDB 0xc4 #define HX8394_CMD_UNKNOWN2 0xc6 +#define HX8394_CMD_UNKNOWN6 0xc7 #define HX8394_CMD_SETCABC 0xc9 #define HX8394_CMD_SETCABCGAIN 0xca #define HX8394_CMD_SETPANEL 0xcc @@ -618,6 +619,247 @@ static const struct hx8394_panel_desc hl055fhav028c_d= esc =3D { .init_sequence =3D hl055fhav028c_init_sequence, }; =20 +static void waveshare_5_0_inch_a_init_sequence(struct mipi_dsi_multi_conte= xt *dsi_ctx) +{ + /* 5.19.8 SETEXTC: Set extension command (B9h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETEXTC, + 0xff, 0x83, 0x94); + + /* 5.19.2 SETPOWER: Set power (B1h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPOWER, + 0x48, 0x0a, 0x6a, 0x09, 0x33, 0x54, 0x71, 0x71, 0x2e, 0x45); + + /* 5.19.9 SETMIPI: Set MIPI control (BAh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETMIPI, + 0x61, 0x03, 0x68, 0x6b, 0xb2, 0xc0); + + /* 5.19.3 SETDISP: Set display related register (B2h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETDISP, + 0x00, 0x80, 0x64, 0x0c, 0x06, 0x2f); + + /* 5.19.4 SETCYC: Set display waveform cycles (B4h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETCYC, + 0x1c, 0x78, 0x1c, 0x78, 0x1c, 0x78, 0x01, 0x0c, 0x86, 0x75, + 0x00, 0x3f, 0x1c, 0x78, 0x1c, 0x78, 0x1c, 0x78, 0x01, 0x0c, + 0x86); + + /* 5.19.19 SETGIP0: Set GIP Option0 (D3h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x32, 0x10, + 0x05, 0x00, 0x05, 0x32, 0x13, 0xc1, 0x00, 0x01, 0x32, 0x10, + 0x08, 0x00, 0x00, 0x37, 0x03, 0x07, 0x07, 0x37, 0x05, 0x05, + 0x37, 0x0c, 0x40); + + /* 5.19.20 Set GIP Option1 (D5h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP1, + 0x18, 0x18, 0x18, 0x18, 0x22, 0x23, 0x20, 0x21, 0x04, 0x05, + 0x06, 0x07, 0x00, 0x01, 0x02, 0x03, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x19, 0x19, 0x19, 0x19); + + /* 5.19.21 Set GIP Option2 (D6h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP2, + 0x18, 0x18, 0x19, 0x19, 0x21, 0x20, 0x23, 0x22, 0x03, 0x02, + 0x01, 0x00, 0x07, 0x06, 0x05, 0x04, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x19, 0x19, 0x18, 0x18); + + /* 5.19.25 SETGAMMA: Set gamma curve related setting (E0h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGAMMA, + 0x07, 0x08, 0x09, 0x0d, 0x10, 0x14, 0x16, 0x13, 0x24, 0x36, + 0x48, 0x4a, 0x58, 0x6f, 0x76, 0x80, 0x97, 0xa5, 0xa8, 0xb5, + 0xc6, 0x62, 0x63, 0x68, 0x6f, 0x72, 0x78, 0x7f, 0x7f, 0x00, + 0x02, 0x08, 0x0d, 0x0c, 0x0e, 0x0f, 0x10, 0x24, 0x36, 0x48, + 0x4a, 0x58, 0x6f, 0x78, 0x82, 0x99, 0xa4, 0xa0, 0xb1, 0xc0, + 0x5e, 0x5e, 0x64, 0x6b, 0x6c, 0x73, 0x7f, 0x7f); + + /* 5.19.17 SETPANEL (CCh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPANEL, + 0x0b); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN1, + 0x1f, 0x73); + + /* 5.19.5 SETVCOM: Set VCOM voltage (B6h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETVCOM, + 0x6b, 0x6b); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN3, + 0x02); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x01); + + /* 5.19.2 SETPOWER: Set power (B1h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPOWER, + 0x00); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x00); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN5, + 0x40, 0x81, 0x50, 0x00, 0x1a, 0xfc, 0x01); +}; + +static const struct drm_display_mode waveshare_5_0_inch_a_mode =3D { + .clock =3D 70000, + .hdisplay =3D 720, + .hsync_start =3D 720 + 40, + .hsync_end =3D 720 + 40 + 20, + .htotal =3D 720 + 40 + 20 + 20, + .vdisplay =3D 1280, + .vsync_start =3D 1280 + 30, + .vsync_end =3D 1280 + 30 + 10, + .vtotal =3D 1280 + 30 + 10 + 4, + .width_mm =3D 62, + .height_mm =3D 110, +}; + +static const struct hx8394_panel_desc waveshare_5_0_inch_a_desc =3D { + .mode =3D &waveshare_5_0_inch_a_mode, + .lanes =3D 2, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, + .format =3D MIPI_DSI_FMT_RGB888, + .init_sequence =3D waveshare_5_0_inch_a_init_sequence, +}; + +static const struct drm_display_mode waveshare_5_5_inch_a_mode =3D { + .clock =3D 65000, + .hdisplay =3D 720, + .hsync_start =3D 720 + 50, + .hsync_end =3D 720 + 50 + 50, + .htotal =3D 720 + 50 + 50 + 10, + .vdisplay =3D 1280, + .vsync_start =3D 1280 + 15, + .vsync_end =3D 1280 + 15 + 12, + .vtotal =3D 1280 + 15 + 12 + 4, + .width_mm =3D 62, + .height_mm =3D 110, +}; + +static void waveshare_5_5_inch_a_init_sequence(struct mipi_dsi_multi_conte= xt *dsi_ctx) +{ + /* 5.19.8 SETEXTC: Set extension command (B9h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETEXTC, + 0xff, 0x83, 0x94); + + /* 5.19.9 SETMIPI: Set MIPI control (BAh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETMIPI, + 0x61, 0x03, 0x68, 0x6b, 0xb2, 0xc0); + + /* 5.19.2 SETPOWER: Set power (B1h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPOWER, + 0x48, 0x12, 0x72, 0x09, 0x32, 0x54, 0x71, 0x71, 0x57, 0x47); + + /* 5.19.3 SETDISP: Set display related register (B2h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETDISP, + 0x00, 0x80, 0x64, 0x0c, 0x0d, 0x2f); + + /* 5.19.4 SETCYC: Set display waveform cycles (B4h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETCYC, + 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x01, 0x0c, 0x86, 0x75, + 0x00, 0x3f, 0x73, 0x74, 0x73, 0x74, 0x73, 0x74, 0x01, 0x0c, + 0x86); + + /* 5.19.5 SETVCOM: Set VCOM voltage (B6h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETVCOM, + 0x86, 0x86); + + /* 5.19.19 SETGIP0: Set GIP Option0 (D3h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP0, + 0x00, 0x00, 0x07, 0x07, 0x40, 0x07, 0x0c, 0x00, 0x08, 0x10, + 0x08, 0x00, 0x08, 0x54, 0x15, 0x0a, 0x05, 0x0a, 0x02, 0x15, + 0x06, 0x05, 0x06, 0x47, 0x44, 0x0a, 0x0a, 0x4b, 0x10, 0x07, + 0x07, 0x0c, 0x40); + + /* 5.19.20 Set GIP Option1 (D5h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP1, + 0x1c, 0x1c, 0x1d, 0x1d, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x24, 0x25, 0x18, 0x18, + 0x26, 0x27, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x20, 0x21, + 0x18, 0x18, 0x18, 0x18); + + /* 5.19.21 Set GIP Option2 (D6h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGIP2, + 0x1c, 0x1c, 0x1d, 0x1d, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, + 0x01, 0x00, 0x0b, 0x0a, 0x09, 0x08, 0x21, 0x20, 0x18, 0x18, + 0x27, 0x26, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x25, 0x24, + 0x18, 0x18, 0x18, 0x18); + + /* 5.19.25 SETGAMMA: Set gamma curve related setting (E0h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETGAMMA, + 0x00, 0x13, 0x21, 0x28, 0x2b, 0x2e, 0x32, 0x2f, 0x61, 0x6e, + 0x7e, 0x7b, 0x80, 0x8f, 0x91, 0x93, 0x9d, 0x9d, 0x97, 0xa4, + 0xb1, 0x57, 0x55, 0x58, 0x5d, 0x60, 0x67, 0x74, 0x7f, 0x00, + 0x13, 0x21, 0x28, 0x2b, 0x2e, 0x32, 0x2f, 0x61, 0x6e, 0x7d, + 0x7b, 0x7f, 0x8e, 0x90, 0x93, 0x9c, 0x9d, 0x98, 0xa4, 0xb1, + 0x58, 0x55, 0x59, 0x5e, 0x61, 0x68, 0x76, 0x7f); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN1, + 0x1f, 0x31); + + /* 5.19.17 SETPANEL (CCh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPANEL, + 0x07); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN3, + 0x02); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x02); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN4, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x00); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x01); + + /* 5.19.2 SETPOWER: Set power (B1h) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETPOWER, + 0x00); + + /* 5.19.11 Set register bank (BDh) */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_SETREGBANK, + 0x00); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN2, + 0xed); + + /* Unknown command, not listed in the HX8394-F datasheet */ + mipi_dsi_dcs_write_seq_multi(dsi_ctx, HX8394_CMD_UNKNOWN6, + 0x00, 0xc0); +}; + +static const struct hx8394_panel_desc waveshare_5_5_inch_a_desc =3D { + .mode =3D &waveshare_5_5_inch_a_mode, + .lanes =3D 2, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, + .format =3D MIPI_DSI_FMT_RGB888, + .init_sequence =3D waveshare_5_5_inch_a_init_sequence, +}; + static int hx8394_disable(struct drm_panel *panel) { struct hx8394 *ctx =3D panel_to_hx8394(panel); @@ -815,6 +1057,8 @@ static const struct of_device_id hx8394_of_match[] =3D= { { .compatible =3D "huiling,hl055fhav028c", .data =3D &hl055fhav028c_desc = }, { .compatible =3D "powkiddy,x55-panel", .data =3D &powkiddy_x55_desc }, { .compatible =3D "microchip,ac40t08a-mipi-panel", .data =3D &mchp_ac40t0= 8a_desc }, + { .compatible =3D "waveshare,5.0-dsi-touch-a", .data =3D &waveshare_5_0_i= nch_a_desc }, + { .compatible =3D "waveshare,5.5-dsi-touch-a", .data =3D &waveshare_5_5_i= nch_a_desc }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, hx8394_of_match); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C183D35B137 for ; Sat, 11 Apr 2026 12:11:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909475; cv=none; b=ezJimvTCTdu9If0W4JnnqDUDHKTzIBk05rtWscfedBHeeoFREEHH3XEBgAnMHB95awxZsWJGofZvmml6USVyAgYv+/VL09JuxyGZ857ixhcMRv9eGKClNjJKZ5kpVvzxu8bfgsioQnAra/PWCP+el7jDByHa0hraF7CYaniLLdc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909475; c=relaxed/simple; bh=UaFNTqBtKso6xJSLFl/W79hsAPZIEJVjWT3TUsEBupk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RBgc3FN8J13NjGwRzgyikmYQNRfyTpug+akKhcT8fPjYTsu/7WqGuQ3bUcL4js7/kzpdWD3wkLPFnM/m1UHkaLSj2hHBjpSpUpLhTkZDyKTuLZTd5EYuEn83ouk78vWKlvdrt6MELNU1G7bwcxbkeJjW1q5RMsBCL34+zW3cfx8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=H2wHr1uz; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FpPc/b92; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="H2wHr1uz"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FpPc/b92" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B9uffp1911004 for ; Sat, 11 Apr 2026 12:11:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YpKBdNEr1u1AKChljvnO5kynR6OA2izQM/2xPpjPVvg=; b=H2wHr1uzFarsnWbr RWuyKjINp0F9L7cR4wBFNkE2CKeoiid1RufURMa91EV+DmM/G+Ufoo8CPps1rINw T8TwWVgoU7YggNUY2pLR3L3IKyEDEnYH1SMtScZsHqlLBQ/vCjirfTwQSN2Ibr4Y /UjgZRvYr7XgcMcklqcvoKZ36ncDkQcFbW2y06i4nMRVhncRKjYX7+PdH+Y8xr6g CEplf0vl8zMr0r0gifkSZPpr7bhYNvC4eJxg9tSNKQDHA5QhlFsk7lGlom5P6YFV yUjAEorKZSBNx94fkNWkTyevo5DysNIJrW5rdQ4fVVxFfiblonT55kJKrAWXvBEJ 58Hpqg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dff0jrn9j-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:12 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50b220c72bbso59852401cf.1 for ; Sat, 11 Apr 2026 05:11:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909472; x=1776514272; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YpKBdNEr1u1AKChljvnO5kynR6OA2izQM/2xPpjPVvg=; b=FpPc/b92bGr17+qZYnC9ujqtTCdlmOyyDyElo9ly7D1BLPzXw9O5+kK/OLBIGpGcU6 22NVd7PoH2nh+asv8FHW0+HAZdhIrvsxJw+7E+GfMQPT0udjyW15gZOnCkXMEvZtisNO Po+KOE94JB6Z73eWboMltL/O8Sd2iqOKDi7/QmA33b5A4CbCyBX583YdDp8UiJjIMK7t P7TVf7mxeEyM3y3iNomyKdw39POKzUPJ2QO46ijblyyVx7UvNToaCZ++tBkSQRKapMOu ldVa/BSfAF6y+UuMjpfc+7Tghe+XL0784WTFj73FIayFSS81EhLlDm3tGZcIolFONbxs qttg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909472; x=1776514272; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YpKBdNEr1u1AKChljvnO5kynR6OA2izQM/2xPpjPVvg=; b=BwQpWDv65Uu/sfZLaoasTJgYbij6siLgve21fioWXl0D+fxk7PS/oZ/sx62cNBA2qr OUjk5yNp2eIzIuwOKDKQPsZk7O7p0XbSEV9yVZhp2kH6Ru9N94+Jhqz7CKpogD4pP1Dl oNZ7Y02oaDqB4aqyv2t6GgZzbyrs3X/ha25bn+8Pp+F8lF2wI/J0V8QdSCSWzJlwejPZ MvdXFSVXahuvmONWjLCEExb5TE+G1Mp3RWf05QhSmK+XQd+/JjnRDLJdMfo5wVdlTRgq ab1t5eJl959jV9UsBzATNmGL3ixaxFeiQ+zZ10GmOoHypau+EjN17H4QKypN+LCi7/fc LhgA== X-Forwarded-Encrypted: i=1; AJvYcCWnccU1W0d+1iLCXI9TzVewwbuQypmijj7n8qpJKxQ44LkfVsh+cQMZDFYFgInA5+3+44hDM16V5D64vuI=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3MdYqaUk1cNfsOQ8/H0ghJAeDH+yflMV6SHsWGeQ4j2QUD/gz 7Z+cuVdvHM3DSjpeYN7SFjDndftEbmTkOTv8+WbLaS+QiSfKT5VbgnzRta3F9j29q10bA1ZBLTd QJasdRM4qaQjfv3I8GUgHmTmzJXqExn/VcckAq+G337Y1UgB3laKhPsUtXQW9L7uushtPIJvp3f U= X-Gm-Gg: AeBDievHp3//gX5xLRc/9ku7fmfEUcAvrUtIvJaLHxvctDBPU7U6pu+qbGr48c7vGqn yZBFetjI8D98f6rM24X3x13jI7U52Yb51XKph5gEBzFbgF5sQ7CUOqal3tKLYWR/LxU+4rBjS9k 6COEnak43V5IRoAMT5YXocs0BiT8h4pMcCZKUPWpTiZgbtTa+7sXA/3TILjI49qv1TBG2r/eq6D 7dl5JKa6PVI0VRuNbaYcgBdYcpOjGvZ7RrkXKb5WtfcWX1L7JzQ0J19AbVtAY+BN1urzGY7B0Bo viLemwyk/j4gpaA9AF6h9Vo06JNjU3Ek95O6XXrq6T55zoNf2Hw3wI3WaXMxUQ9ye52pfF3EquJ RcFhGH++NJZhE+LrnMz06O8ZQa7xYo0t9H9op3IiDZLGE34BuPsyPYsfFHkJ8kB/twqhv6/64h1 kfjqo8mXrCoONkmF51Mpw1NOjr326X0/LFyUQ= X-Received: by 2002:a05:622a:2b0b:b0:50d:5a11:1b5 with SMTP id d75a77b69052e-50dd5b52faemr113980131cf.17.1775909471673; Sat, 11 Apr 2026 05:11:11 -0700 (PDT) X-Received: by 2002:a05:622a:2b0b:b0:50d:5a11:1b5 with SMTP id d75a77b69052e-50dd5b52faemr113979611cf.17.1775909471243; Sat, 11 Apr 2026 05:11:11 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:10 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:31 +0300 Subject: [PATCH v2 11/21] drm/panel: jadard-jd9365da-h3: use drm_connector_helper_get_modes_fixed Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-11-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2270; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=UaFNTqBtKso6xJSLFl/W79hsAPZIEJVjWT3TUsEBupk=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGp8PsS/O2FCpVORjQ8wZCgOK7n8tnCfIT4 9ECz74fMDGJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1ROWCACOd00exKXMQSTte66G3uQdSbvQqD8KnyZbu+F1PqhFoHjoN/Y2KtbqtQogzyAlM1PZIfr sfGgRrt7l/KndKUUm37DqFEJlv9tt0v8WmdwSyxYSLq3FTb6BKGf2UGNiBvHUZQZE7yjZ8lQOLw IDUxvTpTPdFgORnWeqkP6LxGuzx7s62h1uxLtDdy60v5MQjR8SbTN5p1Mt6K+26KtHgoTKzsm8k w2PaC8gb+AN2kYeNkk3GFLky24wfNQT9WhZtU/Kx7zRIEIqL1KJwXvT/mXOwCqWSly8pxO3Cu/g CudT6YRygiFI24casp4MrxAZqYHa6AKL+0Fs7M9qDoyMHmeV X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX/Pooq7CyTIqX Q5fkg5Qi6GhuTguCBP9p0kIxBBn5u2Wvo/wSE8sENPXkZCrcD1wanbRVmnCsv/aRaXowSDW8AYf X6bOLVEtFo0fR7h1lQZzU6ErTNpijsjbHBb7/g6c111cnfnYRlkI2tLi7+Vw+rdH6JRRmHTl1/v gEBJuy2wENqvOjp903o7GK0BQa1GE2mIAh4q3qtEEQe2pZPszrFqMQGgvM/6RjP84YT/7O9wQ9P ZEH5/7U4MYirIKBvktLtOTj8RqjDnH42hkWh+hC8F0qxbii0LW9oxZ4x4u01I9HBow4UB/iKnzl xIrJJFMxMnW8ZkZdgB5O08LUV6lzxPxcmXburzd+NwqWlobur2MA5WOMT8v2wuisiF77FmsvVsl mrKMC1JofBEJI+ITV/W4E8ApKfb7E9AC+1s676xyOfQ706HR/vhPnFafzbYz3IRAxIdbRIhapb6 EYrc0kKws03Zdhyd/Dw== X-Proofpoint-ORIG-GUID: ILBr4zc9iK3jkFEw49f8LKrXA7dqECDf X-Proofpoint-GUID: ILBr4zc9iK3jkFEw49f8LKrXA7dqECDf X-Authority-Analysis: v=2.4 cv=d/LFDxjE c=1 sm=1 tr=0 ts=69da3a60 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=xve7C_kOZ5OF2CZn6hQA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 malwarescore=0 phishscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Use existing helper instead of manually coding it. Reviewed-by: Linus Walleij Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/Kconfig | 1 + drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 19 ++----------------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d6863b28ddc5..ba527b4d7737 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -337,6 +337,7 @@ config DRM_PANEL_JADARD_JD9365DA_H3 depends on OF depends on DRM_MIPI_DSI depends on BACKLIGHT_CLASS_DEVICE + select DRM_KMS_HELPER help Say Y here if you want to enable support for Jadard JD9365DA-H3 WXGA MIPI DSI panel. The panel support TFT dot matrix LCD with diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index c33c611e03c0..1884ad2404cd 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -12,6 +12,7 @@ #include #include #include +#include =20 #include #include @@ -149,24 +150,8 @@ static int jadard_get_modes(struct drm_panel *panel, struct drm_connector *connector) { struct jadard *jadard =3D panel_to_jadard(panel); - const struct drm_display_mode *desc_mode =3D &jadard->desc->mode; - struct drm_display_mode *mode; - - mode =3D drm_mode_duplicate(connector->dev, desc_mode); - if (!mode) { - DRM_DEV_ERROR(&jadard->dsi->dev, "failed to add mode %ux%ux@%u\n", - desc_mode->hdisplay, desc_mode->vdisplay, - drm_mode_vrefresh(desc_mode)); - return -ENOMEM; - } - - drm_mode_set_name(mode); - drm_mode_probed_add(connector, mode); - - connector->display_info.width_mm =3D mode->width_mm; - connector->display_info.height_mm =3D mode->height_mm; =20 - return 1; + return drm_connector_helper_get_modes_fixed(connector, &jadard->desc->mod= e); } =20 static enum drm_panel_orientation jadard_panel_get_orientation(struct drm_= panel *panel) --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F7A535A3B8 for ; Sat, 11 Apr 2026 12:11:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909477; cv=none; b=Nk1xawnq3Qqz7nPt83Tvbs2I7xMMO78N8XvTc+mTj/QolQVtpLYCrBnz3+f47/35ee9efxilyaSld0yvPOFEai9Oo7IbEeI0hzRehdTz6eQryewrvW95A5YLFHBSaf00yupnLiH1ftOpdqhUAmp87RFtoix7Lj++wzUptn8ablo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909477; c=relaxed/simple; bh=qxvBzNbPk5EGLmpGBUzeeM1J6/sQ4P9lHmhYV6FObtE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lDo+AkghVuWD/7QVyxrCXooxNNkly88u42owZJvK/MNcWEvC1TfWK7qTPPpyV/8ouf2R9LPoxgpCJ67sfAPNEQcLu1pD4UuHdmbUVJNNW+Vr5RSAgNHlDBIvLT39lqCoDRV9eYIZyRZWMp9tByRCzm9v453CAA0CH/cr0UIN1xw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=JGo2FMSp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f5pOWEq/; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JGo2FMSp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f5pOWEq/" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B40TAG3910030 for ; Sat, 11 Apr 2026 12:11:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VffLj0dx4ChWNgZbhFjLmDZu+t4dULnpnscDgkywfYA=; b=JGo2FMSpMoW/BmT/ jT26NL8tz9/2MECla3xT7mmednM2lrOtKO9YkYxRJbKBw4/ZUKhHu2z2hd4e4s0X uHpTefQzmTO1Gk5zxoBKaRFv+7UzvZuQaavXqM4TW2mrGZC1rxu2Iq+cu5wdvBbz 2NKAdW+HbtVByVa0UcvJmQs/rWdfbjOswExwlENK5eCvgjzaTzCnGtFDBuJVqiK/ 8Pxxfg8t6Zg9SdXB8LvhjJKQQPh0YTQkqRBMEBXM1+nqg5QAYcoQbvTmBCmXvA7t NX9tOY/fOMEawj5I+D6trObkEtQSX77gbF9Ng69VZ/SVIR8ByCZNZwV2xQmX9nkO Bi8JZA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfew00nc7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:14 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50d831e8083so26152401cf.3 for ; Sat, 11 Apr 2026 05:11:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909474; x=1776514274; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=VffLj0dx4ChWNgZbhFjLmDZu+t4dULnpnscDgkywfYA=; b=f5pOWEq/YDZ9MaVwuHkpsYlSELbBoGTl8K2rnf6o1P+qHKImWYrijxfiW9YoXuthYi SD+d5nzympzvauPLS4k3slH5fcM/9yIVhYXdl9NBY2A/ZLy4XNdgBrHa7RyJoehyiRgR uYYJFkKKdisaD3vjWTudq5M8TAdTBkbg4GgFzS0Cn5mDsIG3Mx2jljjhKMc0tvsz9TD1 Fy6l2bRBbU4z10Z+pNQhWDKO7qfNzHQffs8xSddF3Il5gZY6JIrD1E/Rz2rVULdorQpV 8S0KQw+NpLiB67eS/PDimlnyf4ntbHdGJ6GCivkWsBv64MGvLVibwcOKM6zov4vQYNty 7R/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909474; x=1776514274; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VffLj0dx4ChWNgZbhFjLmDZu+t4dULnpnscDgkywfYA=; b=hdkci0YFaM+lFiGalMSQykJfrng/ogxP8ZHkWTEa+aHPYdhR+2lbcG3rDRTPJBMXao KfPS22ORKOq6PaIwT4Ki5xsiHnHMVNdwChFMxOqkSHR4/t9vDoeWY56pZRXPQBHJCyrj +nRYV1Sj0Cycq8fHvZk6fBmtliEEyfsCFlr3GsVx1zsaLIaMB6hGpyarcrD2OnL8KN2v l2oHczSo62Ep2QOjYlU6jL6ddq0rjbqy7ByMf9moCYGpKbzqmE8x89n1vBfxV+DV/W/w meRFHOo06ThYGzgiY8t5eWvYnSF9ZqQHlsOyArZ1vN7lKF/AW56Snjy129KGI+M+J5dO rX2Q== X-Forwarded-Encrypted: i=1; AJvYcCWf5GUcIlMPwW7fCW86kTVw5zkA2Fn6LuBF82DRy5X6WtYPzLFVqzF+slaiwgfqfTdSUi06JbqQK2M1D7w=@vger.kernel.org X-Gm-Message-State: AOJu0YykJM8fGHCts62TR+uhwQbjd1nqZdAmUbh11rt4WozzgQOGaidh btyLaN4sX7RQ7uLEUHb+MQl22ScrTvDmqkKSl5Tc1N4Ot3mvFiu1M+bLa1y9o6EVVqhaamVqzYK V2d6BXfKg6W5B5902yQbMM9wPaCnmrm/LJh6aywOV/9W9ref7j0tuTbUUtABQv8KqAgA= X-Gm-Gg: AeBDieu31241sFR9T2GeDmGTtTNH86nJf42B0BKQb/6V9/9gEz+7AZibtJLzoY95Dls 20qOd0TpDqz7c5nQ5msCuwlKIlR+2dX5kFLEIEW4IPowuDxvhqGB8DP6BwcYx9J5HdkIqPJeDBW EaB1/l8GMEoJV3Cr6fKwPmeWRyBWcS34+3yCr7stI8QRQAlyMVtCwfpLEDH9XGFpOCLzBcyO3mz ujnzaRFXbMv1aDR9hhhj09NC5BA00p70CUyoT3MRaXF0oRPrCqUZJ0jjvkD73tNnxXgN748W6MI gjERM/95Gdv58E3MwTZutuLL3tkxMsuDXSkk45ItZtJVHDbjZHhMYkyfXOJPN22tUoy/n4LhNq6 hNIDSoe9Z+UqSP+TaTebVxLfnL9pGM1OtDkPaHri2KZWK97PSOkPqRD/BeiLADx3fVWGm6NmulY 8fYEklzL33d3iX8SladxhJ1nJfKvrPPM2JJCA= X-Received: by 2002:a05:622a:a410:b0:50d:e1c8:5ed with SMTP id d75a77b69052e-50de1c80b8amr43323041cf.52.1775909474411; Sat, 11 Apr 2026 05:11:14 -0700 (PDT) X-Received: by 2002:a05:622a:a410:b0:50d:e1c8:5ed with SMTP id d75a77b69052e-50de1c80b8amr43322671cf.52.1775909473977; Sat, 11 Apr 2026 05:11:13 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:12 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:32 +0300 Subject: [PATCH v2 12/21] drm/panel: jadard-jd9365da-h3: support variable DSI configuration Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-12-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Riccardo Mereu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=4724; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=qxvBzNbPk5EGLmpGBUzeeM1J6/sQ4P9lHmhYV6FObtE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGCyNgWS/VQHaa0ne99WdMtW70FVv8Vqmq6 FSQjKx5p5CJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1e35B/9opzvZiiuLKmiI1OJgaoCwVAxBS6CoXFP8o0c8sZMNFgzUBiqEY+ts0wffKKWllGxqLto EHogyQkv6gmrZs/tHz1n+QB2WM+e1LhzMAMvH3QtbFewJTU8kdsIy4Tjq6z5BP1vfspcOf+rLNB gp010f7ELFnKYmzALFbopIxREP2+WHURp2n17Jr6U5DliXqsuuv1HQ5yR/JPC0V/IFCLB1VQSi/ fBFsBFkbeE8Xm6ETVo26S5iS64uxXCHMSn9iQvNZdm6zNplJdZ3tknF/n16AmJJOEHDaEYMcZzD UJkJ5BQ76D6+K8JeD6NMz3UgBfL78rE5HDMPIV97GdnoDP5G X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX7Eb3A7KZK5sU W/jQkLwjz6DWQrHgF7F7kacnaotO0p/FuIhIAm8wnCwWVIxMfC0Zl0ODa2B82USa2Z97D+ltr6E d3zstpvZEEwkOSihXxikoPSgTfeLroziXuUcvT+jq9fpRinmMXlvwJSQPBuBolW9f+sicoVFkTQ X4fn78YGYB3sOtSkGt7miWCmQ2XRjsBgoTSuhwQagWjKR6noS4+qopHJKamMW/xTn2kRPSVgtDD bn3f25mrxltksS5DvWPWiAnN2Hgz9a3kwYcaA+zz8I3q/WjKDYmfHHimFxwfMGuqeZxo45sOtQP DQXxcA+Biie+82E/D0H6PqtAi7el6il8rXM4gE+YfWY4eKHMhpNCQOnF4sYhjwq06/SQdkYzmPk W9ZBL1X/cfq5wVsXNCrHFQxlHr8356MelI/rllRqHk4wOBaM/n7oZB5S47oIFulwnWHfLzi3Ja2 Ym06P3PYwgZHULL59+A== X-Proofpoint-GUID: kg59ZldNmfRnKkWfGddWvRvJiIppqnTk X-Authority-Analysis: v=2.4 cv=AofeGu9P c=1 sm=1 tr=0 ts=69da3a62 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=hyEcIN-V0XolZWHaHNkA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: kg59ZldNmfRnKkWfGddWvRvJiIppqnTk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 adultscore=0 phishscore=0 priorityscore=1501 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Several panels support attachment either using 4 DSI lanes or just 2. In some cases, this requires a different panel mode to fulfill clock requirements. Extend the driver to handle such cases by letting the panel description to omit lanes specification and parsing number of lanes from the DT. Reviewed-by: Linus Walleij Tested-by: Riccardo Mereu Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 32 +++++++++++++++++---= ---- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index 1884ad2404cd..5d9db2e1f28f 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -10,6 +10,7 @@ =20 #include #include +#include #include #include #include @@ -23,7 +24,8 @@ struct jadard; =20 struct jadard_panel_desc { - const struct drm_display_mode mode; + const struct drm_display_mode *mode_4ln; + const struct drm_display_mode *mode_2ln; unsigned int lanes; enum mipi_dsi_pixel_format format; int (*init)(struct jadard *jadard); @@ -57,7 +59,10 @@ static void jadard_enable_standard_cmds(struct mipi_dsi_= multi_context *dsi_ctx) mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0xe1, 0x93); mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0xe2, 0x65); mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0xe3, 0xf8); - mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0x80, 0x03); + if (dsi_ctx->dsi->lanes =3D=3D 2) + mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0x80, 0x01); + else + mipi_dsi_dcs_write_seq_multi(dsi_ctx, 0x80, 0x03); } =20 static inline struct jadard *panel_to_jadard(struct drm_panel *panel) @@ -151,7 +156,10 @@ static int jadard_get_modes(struct drm_panel *panel, { struct jadard *jadard =3D panel_to_jadard(panel); =20 - return drm_connector_helper_get_modes_fixed(connector, &jadard->desc->mod= e); + if (jadard->dsi->lanes =3D=3D 2) + return drm_connector_helper_get_modes_fixed(connector, jadard->desc->mod= e_2ln); + else + return drm_connector_helper_get_modes_fixed(connector, jadard->desc->mod= e_4ln); } =20 static enum drm_panel_orientation jadard_panel_get_orientation(struct drm_= panel *panel) @@ -354,7 +362,7 @@ static int radxa_display_8hd_ad002_init_cmds(struct jad= ard *jadard) }; =20 static const struct jadard_panel_desc radxa_display_8hd_ad002_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D 70000, =20 .hdisplay =3D 800, @@ -586,7 +594,7 @@ static int cz101b4001_init_cmds(struct jadard *jadard) }; =20 static const struct jadard_panel_desc cz101b4001_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D 70000, =20 .hdisplay =3D 800, @@ -819,7 +827,7 @@ static int kingdisplay_kd101ne3_init_cmds(struct jadard= *jadard) }; =20 static const struct jadard_panel_desc kingdisplay_kd101ne3_40ti_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D (800 + 24 + 24 + 24) * (1280 + 30 + 4 + 8) * 60 / 1000, =20 .hdisplay =3D 800, @@ -1070,7 +1078,7 @@ static int melfas_lmfbx101117480_init_cmds(struct jad= ard *jadard) }; =20 static const struct jadard_panel_desc melfas_lmfbx101117480_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D (800 + 24 + 24 + 24) * (1280 + 30 + 4 + 8) * 60 / 1000, =20 .hdisplay =3D 800, @@ -1326,7 +1334,7 @@ static int anbernic_rgds_init_cmds(struct jadard *jad= ard) }; =20 static const struct jadard_panel_desc anbernic_rgds_display_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D (640 + 260 + 220 + 260) * (480 + 10 + 2 + 16) * 60 / 1000, =20 .hdisplay =3D 640, @@ -1562,7 +1570,7 @@ static int taiguan_xti05101_01a_init_cmds(struct jada= rd *jadard) }; =20 static const struct jadard_panel_desc taiguan_xti05101_01a_desc =3D { - .mode =3D { + .mode_4ln =3D &(const struct drm_display_mode) { .clock =3D (800 + 24 + 24 + 24) * (1280 + 30 + 4 + 8) * 60 / 1000, =20 .hdisplay =3D 800, @@ -1614,6 +1622,12 @@ static int jadard_dsi_probe(struct mipi_dsi_device *= dsi) =20 dsi->format =3D desc->format; dsi->lanes =3D desc->lanes; + if (!dsi->lanes) { + dsi->lanes =3D drm_of_get_data_lanes_count_remote(dsi->dev.of_node, 0, -= 1, 2, 4); + if (dsi->lanes < 0) + return dsi->lanes; + } + dev_dbg(&dsi->dev, "lanes: %d\n", dsi->lanes); =20 jadard->reset =3D devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(jadard->reset)) --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F6D135CB67 for ; Sat, 11 Apr 2026 12:11:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909479; cv=none; b=hpgcA+WQuIy3ggku0MiZc9ay+fhWciRcCZUbj01zExSyFDFgw73KlgEaMgM+Lu+bQ4+U8piirzp6s086KC5rokW8khHoS4AYzjUHL/HxKiv0wvbL1/zPOldvPjwTl7WlVwnPShmhJz4EyJ8fnYgvAF57IAmsuhG/igrUPprbTxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909479; c=relaxed/simple; bh=ItKhX2Lojt9KIazo72U3GJYoHblfjFW2x10W7iSKuEo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WOlM4QFTG4zt2kkrm84ZVdBL16EnrqCDmYhrL/3ue3I2/3ttEGY7yEwqOpxya0EswTEXcPPBjxZp/N4g2QsBYKYrJ0J9tOJhGoC1ZBYBxe2uk/RG7xC6rrv7bgIIVOONeDr6BbPeLptYPFLTSaWV/lJhpPeposxhqoZRGD4qZ5Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=XkJdHlqy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=f+dB2ipz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="XkJdHlqy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="f+dB2ipz" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B43Q602737016 for ; Sat, 11 Apr 2026 12:11:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= RKa6xeChRoaH9uw0NWPjegEQauJVOAFpyTvUBF7c83g=; b=XkJdHlqyqNNNVJ0T JjR2ex2NYnd8z67RD/PBTYWlKq7fTF4gQvBIchCi2R5y4HILTn/+PVPKSI9+8YI/ N6jHuKaxydlsG4+vMcLwyYKAGt7aB0C/yHWs+nOySWnD+lS03xr8vX937RjJkdbm LX7k2QxbGmIFJrMr78lMoCWM5/wzTcXx1KYWN1/4gl/q9p19fy6wgq82u9D+mBAB HD7sT5CyRawMil5ynPmjAkx4ynxInHCYEiR9zUkxhYOtg/GgxyKytYKa/srkhW6X Srvxi2Vxe2VXzMosqtfCa3Apq2h2GLmR219tv8Mczj/a9BbiwvoSJsT1L97unfip H2gDFw== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexcrn22-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:17 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8d3bb33c8b8so603127785a.0 for ; Sat, 11 Apr 2026 05:11:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909477; x=1776514277; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=RKa6xeChRoaH9uw0NWPjegEQauJVOAFpyTvUBF7c83g=; b=f+dB2ipziBorQBM2XXQZEspUk/A9nwvO0yi3frn3cSvr39ZChFtCoPbBv27oxv5QPe 4eQ3D6tQpb/mR7VTUO0PmXZLE27h5Nzj8ki28s8uH+eeeXqc56fdzy5KSDaYB5mULv3f HusEb9cNVj5ctpflQjrDpucfbPke6YvKsx471afRo/rUTrPZxvMa64oYAQfM4UXTGpxz E1cgEeX4cXX7wy3ltMXUx5HIo8Qv9gAcuSZtm7Uzp0/eQC7eJzro0awmRUUqMD2zRHw+ s8EwGhbd4R7cD2QNrNxN11aag7I5eBXm3kTKkkhMdf1LWFq86S3mOQVRKnCOTyLnLXvv WdSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909477; x=1776514277; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=RKa6xeChRoaH9uw0NWPjegEQauJVOAFpyTvUBF7c83g=; b=p0BBAUDP7yw+vZX/sz0UXebdYc0p2AFJkCBs7YbqW+Hia1HygCP4kJ0IntSEUeoqXh wSmKhIhpYox5vpV3uGkWxYYc2KNuTOxZ6KZ6O9Dzbg+c/bfhQADf3WtjQUzcJu2sIyZ0 T8stZb6iFxX8SjOJcX4WRxki2bXyzgg3/hLPGd9Dz4QtSJB/742OvOZbWW2Sv550B972 SeMXvy799O+RfV6DBbQGsxr4QjxupP0egZxE8341AIfK4/IaiVrnfC0pUWbfnwsIeuSM AX5yFKC/6+0IuAcMsaypykck+IOCkr20y6AxGlJs+zNnCMQnXRUgojTP/Bu6VJhkcnvf CHFw== X-Forwarded-Encrypted: i=1; AJvYcCXZ4WqnB8UeqYENPlL2SStn7Z2tbUyvEk1FQkeQJ5HQxENLLUSfl6ddxKb8fA2nzFuZm1tnFGzyRA2IoJQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwL76K9IwF3iUmnT3ej5DDkl44g2MjJepnnHdZORJoY7K/ch71L OT82HQkeIucsEphJ5ulyIRyyck9oOKRIxdH9k60CoscPfbEGTk0k+awVIQk/xpFocM3jtYZ2zym Kiv9+XO6FNM8JXe536TvIja1J5IApmjO25PvRaweSdi2paK67c1GjCNCtWPjUIKn4jiA= X-Gm-Gg: AeBDievMrKdDUn+sYWHq2/6Nxf2fTgmVpGWKiqjjXcK7ZiHA21xHbaKnWZH2We/XzrH Ghxde+DQwpKTwls07GxcO2+yT8P04qBWu/wnso1vrHd9H2O12fDIFyJKy78uvjO99pa1I3+Hl0a pdRnOWBc7/aQ30/4rQJ1GnqU1DWyRi3i29git1tG+HaAfhG4i/b1AnLB+z9dV03k8MuCaJRFxET 3Fn1LZOH8mYRjicWv8TNcPzM1Sm333TSnk6VBNbDetWUQ79QnimGRPU43LPhCCJKOYVLcRwGfnz Deb6JhALtL3Z5VygCjIGW5aTirpesJT865bpYdLsqYLFd/4An2ykL4zzZ2EZYSyC4wO+w+Lkb7n efLsrg0XKyNnGBTAM8a22f1RNQoFzSY9PZkuxfz+eUgWiB4gZOjCXwTRqYj0YpkH/m21EaCnots hBVoaixgod1xwYU6GzwAVsC4TXvbr1w5RpG2U= X-Received: by 2002:a05:622a:550d:b0:50b:2876:586 with SMTP id d75a77b69052e-50dd5ad112emr103796271cf.5.1775909477105; Sat, 11 Apr 2026 05:11:17 -0700 (PDT) X-Received: by 2002:a05:622a:550d:b0:50b:2876:586 with SMTP id d75a77b69052e-50dd5ad112emr103795881cf.5.1775909476721; Sat, 11 Apr 2026 05:11:16 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:14 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:33 +0300 Subject: [PATCH v2 13/21] drm/panel: jadard-jd9365da-h3: set prepare_prev_first Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-13-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Riccardo Mereu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1074; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=ItKhX2Lojt9KIazo72U3GJYoHblfjFW2x10W7iSKuEo=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGwlOUdLdYTrG2qMsikq5j9EIHjvVUbb/Zc qntYLYJwhSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1fm2B/kBk92iEqPsVJKR2/4lISThQL19zM68HkY3kSGFyWIo5pCnoRR2gmnIWYWgNjpV6lysCFI 3gsLs2S2qhux43Cn2EoLEJp05js6ZYHqmGWXqnzpW04Y7GKfFhy8UHLsV4LTwxqdCCvxCjywl5S ha8NsuuYsDO3oDDIhXiQnKzEGPeTi1qThFHMG+9Bkzp21X0SaFvwkOwpIAWa0d3RMdZFTMUqm5k cV4a7v7eV74HJpLF/tSQGvKwl89sSemOm3tvkMP0in1PalkmpFC29Xarx8mNq9JUK72YuFGEsvQ PCWfmPdMRKH7dShTRjzuE3I4GN7mjMh9hRsHsStPodxzWa1k X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfXzh9AR+haZVPB gld8dDDtKfFfcZ1l6HfJgGjhZKW/oDVWNIYMiSiAuPN3C6ShthzueB0oqBa2T1M2aYxjkrsDo5X MiMGtxP3k9M0GcCtxPyDBMtzx988grn6VUV8ikikzJSzj5+sEW9UwawXqe3teEKwUeCe2BhYklE WuB4Lx1USVHNEW+9gArqCdwkoGi34RzH5P8o0c7b0gQ0MQRprjQEJItvzowXLFr8z992gle+j2Q nVTwOnVBe0defYz1rcwUtlhn3VFHBekhI84mKbhP+t8A0iBKRznnZJNonpAZifkEtZxKxEjp823 Ph++9l7sbo4DI3e8Kxlt7nRyukJ1bgCXh2m56RBhkKKSe/See2uN6wDjcFtA1RGSFljUV1HXbU9 vEvOpSQHEYaoPT2jwRHDlQJGuD1xGo5KdKnO/H4G86Pip/CMYpBO0MQSAnhY5Mc+1dxrvgTE3ax wnBoO0ZjyB93uogLYyw== X-Proofpoint-GUID: uUm9jIL_zh1kC73xTvyVvVeBu8szc9O0 X-Authority-Analysis: v=2.4 cv=MqliLWae c=1 sm=1 tr=0 ts=69da3a65 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=ic6V0yA_i5s2A4o5CdYA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: uUm9jIL_zh1kC73xTvyVvVeBu8szc9O0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Sending DSI commands from the prepare() callback requires DSI link to be up at that point. For DSI hosts is guaranteed only if the panel driver sets the .prepare_prev_first flag. Set it to let these panels work with the DSI hosts which don't power on the link in their .mode_set callback. Reviewed-by: Linus Walleij Tested-by: Riccardo Mereu Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index 5d9db2e1f28f..11b7e07c1af8 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -1652,6 +1652,8 @@ static int jadard_dsi_probe(struct mipi_dsi_device *d= si) if (ret) return ret; =20 + jadard->panel.prepare_prev_first =3D true; + drm_panel_add(&jadard->panel); =20 mipi_dsi_set_drvdata(dsi, jadard); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3D7135E92D for ; Sat, 11 Apr 2026 12:11:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909482; cv=none; b=UbF8ht+t+3PO6g3LLjonkDr0SP/GNb5Aqz+0+AHrPP2D3ILMw7USdQApStMAslQ6WzYAZj/l9U88naavGzwlyEFnq4UBPIaUc1Z2bqWbwDgDhys9+AiqT/kGv/L5EXCUo3jryPEAj+10wEBJ+Up8XC6AmmVgVDAx6C74nv+j4/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909482; c=relaxed/simple; bh=01BqkhL4ltxf9UTBykYfGYIBjM3T5bEaoi2x2lYAC68=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EyXxy+lJHkbsz7cr3U4JtmXlM9wMeMkHkTk56xDzdxJ4MU3XlZdiWB8y7J/32FLLzDUEVsMnzDfP32R3cL+uPSuzxSwXJ+NbqDMRptTpYdGlxLUoNIg5vgkvdwHaL3zlTVl3zPY3zbLJyuBb4ReQrABqnF9HvnHL5MPqmNAteAU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=BHwGzk9b; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=W+0qUv8y; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="BHwGzk9b"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="W+0qUv8y" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63BBdWgg1545502 for ; Sat, 11 Apr 2026 12:11:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= tW2wH1SEkwyRGozFeJLS/gOD0zhYYxjGM1wCbKw89bo=; b=BHwGzk9bMj+s/yJM HRydB9q4gqrY3mbh26PNRmjG2tv4Op4h2wzsv+pVObZ/Z1dtiAi5hvZ7q+eFa2ec zfwmvOLpprQwyt9dggAfkH9imsHwZzmk/v8KePtbM0ncx4c2w2nHM4mSSeb1KIkb AyModtMr9GXLeHvoLooj9ZDoA/ExwyFGa4Rd1nIVrkJAD/DSUnVwClR7nSVodCbB FJhNFW9XSm2JCmjPumZWFXwIHhCM6OMQJS/plTei0FybQ9c5tjjyw1VGQpb3h/0R nWt6dlnqqrpjfYY+a8WhS1Ssjjzuj4AjzZybMiGcFOO8tCVVwEKxliY5xdfgw769 YP25lg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dfexfrnc2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:19 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b4661881eso33578891cf.0 for ; Sat, 11 Apr 2026 05:11:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909479; x=1776514279; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=tW2wH1SEkwyRGozFeJLS/gOD0zhYYxjGM1wCbKw89bo=; b=W+0qUv8y2wX7Mns/5QA+RStksgCKJHbMNIUTHJEbA4C3Xy3Jp2T/7P6iOSkt/fxU5k 4n8EDJaYjWkGU0wipBcLoe4EI2TSGKlkcyfS3/H+rs5AkSIHAUS4LmoWbyn9fWVY9v+y bVfVX7MmdPZTuf0+6Jd+vpKFHaMpIU5sIfTp0VluRcgq7jJUne7NtHFpj/SsSRi7iTFU G6tegaJuzRVDLvUtPolIYifs42XEVbVefact5CfpvJNlkcO/JmGFvKXTIBpZWX/gKE1F WHgoAfFLfI/uSh88MPPhxEknw2ijnGpVA3ZRgInROvt5nJfkOHq5MwQiGQKK2eH/3i7D 9FyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909479; x=1776514279; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=tW2wH1SEkwyRGozFeJLS/gOD0zhYYxjGM1wCbKw89bo=; b=LMWE84StyJ5iVk/BwBVHBA48KnGfua/sjz4INjGiZBMqunAY0RXfg8qsFyBEwf8u07 D0N1OxGCUb14wYVQB0MhW/ynW1kTKmMYImztzxHX4kh3hN1DcWsgHnjFlS4mXMzKRoaJ K0y7mvT54rSnyvD0Bf6wrahotU5sJ37+OvRkeOXocJyUzgt21TQofn+gHIVfukTb+dNE 8GUG8bY5njLSWcNwi6HV3bBOoOkmlC++zd5ZsS2cqusUxfFAiLL8rmGu7jlHAgbGuJK0 bj14w8REbIf6ha2t2YjQi+LfRtLcnVhkM8SyerxllV5I3SJxzSTAP05B+H0SN5s1rSZO 3UUQ== X-Forwarded-Encrypted: i=1; AJvYcCVPi74k00OF2ALc+n3EF4Y/7F4PtL9ilTOFwmf9MkImHwgQZD5bnm/FBbCqm9NCdW4wRY77SCYN2AOx4HA=@vger.kernel.org X-Gm-Message-State: AOJu0Yw2fnv5iu0V0nN6S52jue1GEnJ3Spovt+8GgD+hevDvTDGGUAYe n5qQx3sTTf+uthv/mv8xsDox+83zPNOnaeZW4Lx5h+KAHqyQa1gk+l0ml8QirjlDe9qEMhDa3YI /8ex/f29VIQdYBlcQxkgvp5fkeNmJbXL+M3Mh9d0Ngk5OQmCG2xtZJTeakqpdr8+Fn8s= X-Gm-Gg: AeBDievtQ0Y0cSFy52reNLTVB8ycNbSNbyQhN5ipQJx8Z5810yFK2shayhM7nEDBZFO GRs/JJiGX4d4AXLK/Bk5i0/vtWYD+H+N1cWgiW01ISWpBGTmIelBu6U9AeyWg72OXDk7d9lOmnH zpMaF3anlCi5GQykPlEfmlyK7z4tUQJlzeD+GXBpFNEWXdEZ6Es/5Yrnv74fx8kEDZ1cCU/Labs 67cUJ5iENElOneiK0t7fRBnlFw1FTuCoNyJSN0FmNJZeSSVX8ZF+5P88gNytkesB6ena8b0eXua lfxdlgSwsPmdA/FhsKgltCkfWrmtfHJotA6OmQOv4ZHW1wsrHiB4XZ5NxhgxaHHhgnQbDI5IFE5 zaUCFaOcJVGRaERjov5DSmcx0qo67i6TOzwb3rNwRLbUK25E3fvpDPKrKsRQ0IIOl8JuiWlZnd+ dALLkmIk6HF6OUCgByynQR8D5tryGYxDFI53Y= X-Received: by 2002:ac8:7e96:0:b0:50b:3e4d:7ffa with SMTP id d75a77b69052e-50dd5bdab51mr98801601cf.45.1775909478905; Sat, 11 Apr 2026 05:11:18 -0700 (PDT) X-Received: by 2002:ac8:7e96:0:b0:50b:3e4d:7ffa with SMTP id d75a77b69052e-50dd5bdab51mr98800971cf.45.1775909478293; Sat, 11 Apr 2026 05:11:18 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:17 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:34 +0300 Subject: [PATCH v2 14/21] drm/panel: jadard-jd9365da-h3: support Waveshare round DSI panels Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-14-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Riccardo Mereu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=24423; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=01BqkhL4ltxf9UTBykYfGYIBjM3T5bEaoi2x2lYAC68=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpGRIi+aezur/PHYEf6WugXPNVuTy2fwMpct 4T3einfuy6JATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RgAKCRCLPIo+Aiko 1R5eB/wO0Q+ty+VaHHvXr/ZZIt2PS3F/0sGb2601A5c1fanbOvvOQIeOGu225gYLvdcfhBQAJP2 oewie34HtRuG9Z6EmPj0eRKiH1vLxgrJXi3vu8vUnPWhI7yKXzaSW194qetqzq5YI9NXqD/97Ps XMiJ4FpP+WBLeTmuu8erVx4Dt4Hg2cPjScVJY5n4PetpYFfWzyVKmwlFeCIKg6q4sDBgT5hX4aF vaPLCu40teld3gYiwTIJ/g0lzWrjjkP9U3yPJRmpaOGkXBh1eZc82dqvKeVaI1U06G9YnXHJsFl UyDuspeZHe7VML9z91MbcegXkrOxAj2FKJVAfGyCVGWNCaOa X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: hXi49m97CgUi5Vt95qiSNzMzwENSONQA X-Authority-Analysis: v=2.4 cv=OpZ/DS/t c=1 sm=1 tr=0 ts=69da3a67 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=sK-RQuhdBYdXSAti0wYA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: hXi49m97CgUi5Vt95qiSNzMzwENSONQA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX3owO8n17Purl fo2+Y89f1oV6Po82dO6wCJvoturJbtEg5yyyIgKxZnTLaZuvq6y1i8MSfUAEg9vRSaqtmpf72A3 CHI6aDSjpYXb9HqnchYbWD/CTkUkv4pc6yU2Kil4FHypkzsFuGiXeNnnZbWLWLYzKLN4gISApIF YEJ1Ip2vLW8k+1yxdgH8PrsOyvJYXZc09DKGir1eLle56qWnoYT3om1qoEsL9zdmYIh8tWvkgKL cE+nsfQ8RQ8QaBd/+V6en/cQG8mIi6Gzc0deS8VJc6KH/pfK5Xtwmqasl7cyzlv6407sDzMWpbg B2i0Qs9Gy/id00LOyw9IdJs5tc2qYuabOJR5KD+6v/mKG8hWscao5xQffqxp1FhyVYsUeXIrqIt oR+WlTTu407B5HXKshxc3xhQ1iKZQWNbhnLG0BNx9tNENyHLnipsDWiRroTDrjqDnK9sysTnZGE fII8N2X44C30SgEBWzg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Add configuration for Waveshare 3.4" and 4.0" round DSI panels using JD9365 controller. Tested-by: Riccardo Mereu Signed-off-by: Dmitry Baryshkov Reviewed-by: Linus Walleij --- drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 476 +++++++++++++++++++= ++++ 1 file changed, 476 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index 11b7e07c1af8..aacb8968cd01 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -1599,6 +1599,474 @@ static const struct jadard_panel_desc taiguan_xti05= 101_01a_desc =3D { .enter_sleep_to_reset_down_delay_ms =3D 100, }; =20 +static int waveshare_3_4_c_init(struct jadard *jadard) +{ + struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D jadard->dsi }; + + jd9365da_switch_page(&dsi_ctx, 0x00); + jadard_enable_standard_cmds(&dsi_ctx); + + jd9365da_switch_page(&dsi_ctx, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0xd0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0xd0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0xfe); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x26); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x78); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0x64); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0xc7); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x18); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x14); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x1b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x19); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x56); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x25); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x16); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x2f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x32); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x53); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x31); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x0f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x70, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x56); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x73, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0x25); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x16); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x2f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x32); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x53); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7c, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7f, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x80, 0x31); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x81, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x82, 0x0f); + + jd9365da_switch_page(&dsi_ctx, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x05, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x06, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x07, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x08, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0a, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0b, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0d, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0f, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x10, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x11, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x12, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x13, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x14, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x15, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x16, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1d, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1e, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1f, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x20, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x21, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x22, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x23, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x25, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x26, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x27, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x28, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x29, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2a, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2c, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2d, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2e, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2f, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x30, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x31, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x32, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x33, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x34, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x36, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3b, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x46, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x47, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x48, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x49, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4a, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4b, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4c, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4d, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4e, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4f, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x50, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x51, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x52, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x53, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x54, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x56, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x1f); + + jd9365da_switch_page(&dsi_ctx, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x58, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5c, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0xa6); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x73); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x88); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0xd9); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x43); + + jd9365da_switch_page(&dsi_ctx, 0x00); + + mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); + msleep(120); + mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); + msleep(5); + mipi_dsi_dcs_set_tear_on_multi(&dsi_ctx, MIPI_DSI_DCS_TEAR_MODE_VBLANK); + + return dsi_ctx.accum_err; +} + +static const struct jadard_panel_desc waveshare_3_4_inch_c_desc =3D { + .mode_2ln =3D &(const struct drm_display_mode) { + .clock =3D (800 + 40 + 20 + 20) * (800 + 24 + 4 + 12) * 60 / 1000, + + .hdisplay =3D 800, + .hsync_start =3D 800 + 40, + .hsync_end =3D 800 + 40 + 20, + .htotal =3D 800 + 40 + 20 + 20, + + .vdisplay =3D 800, + .vsync_start =3D 800 + 24, + .vsync_end =3D 800 + 24 + 4, + .vtotal =3D 800 + 24 + 4 + 12, + + .width_mm =3D 88, + .height_mm =3D 88, + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, + }, + .lanes =3D 2, + .format =3D MIPI_DSI_FMT_RGB888, + .init =3D waveshare_3_4_c_init, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, +}; + +static int waveshare_4_0_c_init(struct jadard *jadard) +{ + struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D jadard->dsi }; + + jd9365da_switch_page(&dsi_ctx, 0x00); + jadard_enable_standard_cmds(&dsi_ctx); + + jd9365da_switch_page(&dsi_ctx, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0xd0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0xd0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0xfe); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x26); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x78); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0x64); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0xc7); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x18); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x14); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x1b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x19); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x56); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x25); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x16); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x2f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x32); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x53); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x31); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x0f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x70, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x56); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x73, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0x25); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x16); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x2f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x32); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x53); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7c, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7f, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x80, 0x31); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x81, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x82, 0x0f); + + jd9365da_switch_page(&dsi_ctx, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x05, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x06, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x07, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x08, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0a, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0b, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0d, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0f, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x10, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x11, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x12, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x13, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x14, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x15, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x16, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1d, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1e, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1f, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x20, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x21, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x22, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x23, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x25, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x26, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x27, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x28, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x29, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2a, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2c, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2d, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2e, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2f, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x30, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x31, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x32, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x33, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x34, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x36, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3b, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x46, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x47, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x48, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x49, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4a, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4b, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4c, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4d, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4e, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4f, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x50, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x51, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x52, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x53, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x54, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x56, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x1f); + + jd9365da_switch_page(&dsi_ctx, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x58, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5c, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0xa6); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x73); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x88); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0xd9); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x33); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x43); + + jd9365da_switch_page(&dsi_ctx, 0x00); + + mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); + msleep(120); + mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); + msleep(5); + mipi_dsi_dcs_set_tear_on_multi(&dsi_ctx, MIPI_DSI_DCS_TEAR_MODE_VBLANK); + + return dsi_ctx.accum_err; +} + +static const struct jadard_panel_desc waveshare_4_0_inch_c_desc =3D { + .mode_2ln =3D &(const struct drm_display_mode) { + .clock =3D (720 + 40 + 20 + 20) * (720 + 24 + 4 + 12) * 60 / 1000, + + .hdisplay =3D 720, + .hsync_start =3D 720 + 40, + .hsync_end =3D 720 + 40 + 20, + .htotal =3D 720 + 40 + 20 + 20, + + .vdisplay =3D 720, + .vsync_start =3D 720 + 24, + .vsync_end =3D 720 + 24 + 4, + .vtotal =3D 720 + 24 + 4 + 12, + + .width_mm =3D 88, + .height_mm =3D 88, + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, + }, + .lanes =3D 2, + .format =3D MIPI_DSI_FMT_RGB888, + .init =3D waveshare_4_0_c_init, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, +}; + static int jadard_dsi_probe(struct mipi_dsi_device *dsi) { struct device *dev =3D &dsi->dev; @@ -1708,6 +2176,14 @@ static const struct of_device_id jadard_of_match[] = =3D { .compatible =3D "taiguanck,xti05101-01a", .data =3D &taiguan_xti05101_01a_desc }, + { + .compatible =3D "waveshare,3.4-dsi-touch-c", + .data =3D &waveshare_3_4_inch_c_desc + }, + { + .compatible =3D "waveshare,4.0-dsi-touch-c", + .data =3D &waveshare_4_0_inch_c_desc + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, jadard_of_match); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E773535A399 for ; Sat, 11 Apr 2026 12:11:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909486; cv=none; b=U7a+70ByZ/TE7RkQbXuyIqPtIuoZvPoWl1m0vWxiXnrvQ1JVU9TFtl0TC1gE8VhW8CT+ZBRJk7T1UuWOZHavPFMI+wlHZ8nyryXJRTgrSXXXfNJSjFeHHoLa6TAj/CB3x6zCzV+RevPB/WqPQf3ckEZ4GnT2RVg5I5SR2sLUUXg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909486; c=relaxed/simple; bh=oZQttRir8g2Qn2BsHRu+eldjwkU+kNkClFsUr2gUpy8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aM8FjKFZMp+pelh6pNwzvLOBu6C/90yRzYfu0Al44WrQlNN2kda49/eMHvyx9oPQAgD82/HOhppRakc5cEujFVz63WRjXL74CA2lOHnqkgxzx6Y5SuB9MZS7Gh95HD94o9fWKyfrebIzklzh/VWjhtzUMtN+ld280lq+pjqjq1Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IIUHKzOt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Fm+n8nkl; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IIUHKzOt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Fm+n8nkl" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B4U1pl3679901 for ; Sat, 11 Apr 2026 12:11:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= iC1LEVCpd7b7b4Tm2fOEMBKJoKDzPqtfU1gViVgeeyQ=; b=IIUHKzOtS9xy8wHk ProIhs03/1pJhZY0UpOXJyqzpPea0DgbEgqmrg4ik55XhTUWP8uMemdjTVenPAiR sEPNkmz8HlAaqoS5j38svEn83k3VI4/D0HY0XDMXiGNB8QnquKl1AdufXN8plLIN vrvrrEMI8o3caclQwqbqYugdFoXCnA71PHkDeaYYkRMbTVT3uflv/IBZUEnbDYWc pKNUYPytPzV+N51k22PAw773G1vNVJ1DMvhkiDJxDBp9tGqDXd3IT3QlYnOJ8kNF n4e/UNk7V7lYnG8MOF0wHzygr70kmoHSKBqU57FKMuroIH/pU1d6TfG3SHsjNU8p RNOrUw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dffb0gkvs-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:23 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-50b4031b86dso77811411cf.0 for ; Sat, 11 Apr 2026 05:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909482; x=1776514282; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=iC1LEVCpd7b7b4Tm2fOEMBKJoKDzPqtfU1gViVgeeyQ=; b=Fm+n8nkl0Y3P4wzDuKAZGEsoBojAtMKfuRW9tDBQI5PeuuVxBkf7AhaHtO1eLJIQHM C9T/fqs0rYQ367w7gh6AfQWHtZU3LVhQjOfsK/5BQU2cSt7vjNuSUniZVS1OI9iYDERf y6hkIx1lFsd7EwNiiEGHR+SCM6R4Y+ulhQsBS+hyU+ZoB0JKnNyT04aKXZTF8bMW3M3S moK7LjpS3ls2kiks2gChttChc4zALUycl9jfTYJwvP1xEQ42UWTBU5EZiVF4lUeVMMjl dQuQCefQLMd7bwKFtRvFF/hKsuObA7SaKk6aa/KGI0ObFiu2vyTEsE1+tlx3aHZLtEt3 NE9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909482; x=1776514282; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=iC1LEVCpd7b7b4Tm2fOEMBKJoKDzPqtfU1gViVgeeyQ=; b=Z0n8teND6cgB53+2W13n3RoqFLey7RNOTXRV5hI+ZyCYjj4GW0mNtWeA3Y7EgdxEGa ehHNt08M+o8AslyIxEColYXo/At/YS3F6fkD/MpHUNNqY8P5rYb126sMiq8bC+jsToxa H6WWFo3TZT4gLstOTmGTYZ9edDRXlOgqWlz07veutPLUhSJQnoOwMzYLHoApD5VqhcI6 +BSwMYUp7h47x6va3Zo+W6Dpf8cbb8xwMD6yQEk/gWYnKUOY7iubBHGItg1pO0T04274 zfmraVZYXxkPqKvE8xUFjKfALwFu1MylGi0vPu82sNf0O01+NWPjpCFKQPDub76av5wm 6F4g== X-Forwarded-Encrypted: i=1; AJvYcCV9XT4InatsnyrWwmoDBhdMkaE9lDNfRE/eapjM3Awz9EzDjr4IiYeaSIF6GYR9XZwzdMjJ3kbPX4xghns=@vger.kernel.org X-Gm-Message-State: AOJu0YzyDnTZJgTXwhbydizd+hJCCmAADziwaQRbrIYIctvVHef2Jl4E 4tNXG2bHZFsqJ9CrJPSL+TlOv/9AAuupEb5zxzXhoKVKojuc21hXSqY4gsePp/5k8n9u+MVX6y1 ZQwBba2wZ5QAWtSNAuDT7MEDiAq8O0xf8uAMPZKdSh0uMRCAngwZVfyo+XxReH8Q1c2g= X-Gm-Gg: AeBDieuzLPJ1P5TGSAG1EYpkTwzqrrlwBmy7q2xSZbrY+/wEHr0b1gvEs6u6Fz2fbJ2 SaaQOpdBaQcdeODl5qnLp0kFs1Y7MQ1viJkiNReQn62dRDqVuDFJ58SGY+nVjGBKLnumYYkVBf3 AHpk46j/SN7qqSIX/vqlhgV19ha36By4EZaTQlutuiEMCCDwiBNSyDfRJkXXqhgtZfOVAgUYItf RjkvakNlY5DJJwe+XtBQwNPm1ClmhrC3z+NBh5cClBHT0o6FWsuhHa7GAZOP4mHsbeMwANG43+g KMdVK115zSs4+MJw1cz08ZSmfjvzWHngth+ridQBtDW/RSCvv/B8Ohdv5+UhLLcLznw4E2dqdah X7dCrLRIJje9KlimAQFPBXnZtdWk9O+tJ2E9/mVqICUyRsUaGdjO9FaUdhh+ik06uGDa9KEMEnW IM5DaKzLyL9CC14Ww+Gyz5C26KJ4ykgOlwbLY= X-Received: by 2002:ac8:5790:0:b0:50d:9dd1:f25e with SMTP id d75a77b69052e-50dd5c2f3d6mr99291651cf.62.1775909481815; Sat, 11 Apr 2026 05:11:21 -0700 (PDT) X-Received: by 2002:ac8:5790:0:b0:50d:9dd1:f25e with SMTP id d75a77b69052e-50dd5c2f3d6mr99291061cf.62.1775909481206; Sat, 11 Apr 2026 05:11:21 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:20 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:35 +0300 Subject: [PATCH v2 15/21] drm/panel: jadard-jd9365da-h3: support Waveshare WXGA DSI panels Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-15-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Riccardo Mereu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=27749; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=oZQttRir8g2Qn2BsHRu+eldjwkU+kNkClFsUr2gUpy8=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ+YtK3cNjckrrTgE6zTvcgpPWO/PPN2mY3K4y9aa1eskA yyMNO92MhqzMDByMciKKbL4FLRMjdmUHPZhx9R6mEGsTCBTGLg4BWAiibPY/8pLq8zLFuL1UNFd 9q41ZFck1woNWfEPRbdO67oXq05Je1OV2C+0YoXT8XYH542/6hYvKbC54j1/kccMzQzJHPX10t/ zGqtKA/7wFXDt/blV9rxZ2KMPSlm/1iTVyW3cKOK+zOBKffTPOTdWy4i9XtdxpWP/5dgv53Su73 qswMXE0qBz0Xf3gTlVS5xizhwtrqss8sn27H3snpeRdbglWqE978X5Zf/jY6b84XrKw2quY9Xu4 ea29pJhRPmakP718Sfbp91J5+oVzzRbFjRzT6+j8gelG+I53AZedz9s6XrAnVs3aaIdW3HEymL3 dxzmuyY1vtx5iVfBUXVGZr/wC0f1J4lzf0jeX/hMJ/UaAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=YfmNIQRf c=1 sm=1 tr=0 ts=69da3a6b cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=apVvwWDxUfMmm3v5wtwA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfX9cEfsl2GrSmj xgJnclm088sjLjujHKKm9so3afiNnPlLqCtEQQ8pSS02XzSQIkPkvtp/YA+sqQhp+Vo3FGpmNl0 i20lyhCEoSiUxyuBPt6OukgXsmP2BuCiNTcVVXU5cCJ3Xu0MankkGN9rSbC5/Nm5JfSJNwMCmQq q5hbYX1lzD+cbiJ2kCAK/w+WDF9fBTYI3eS/w7edAnuYxa2L191fMrGoqEWwMgMWl8D4nuzu7qt PqLoHjLvPkeKFUkyecRzKC1rUvB5sMd4t80d8t14y5As9pVVdBjYa8taD2p9or9GyQGOQOflUla OEeAZ11OcCZ5XRnnWi6WSTDveEUf5bC0C66TQnZty5UbKifitW9lX0KOCS6v58OE5lPMMkKMgdf 9ztose6jCv6aS4/z2ftJTHKFYpJtOXuz9i/ndl6MBxk99DUX9oltIS/bhM9Rypj+fySj4jsL96Y 8TmcTJs7cd4MqQFOPAA== X-Proofpoint-ORIG-GUID: HLdpIC7V2jaBXwZ19UDypmtpoMhCLIOM X-Proofpoint-GUID: HLdpIC7V2jaBXwZ19UDypmtpoMhCLIOM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Add configuration for several Waveshare 8.0" and 10.1" WXGA DSI panels using JD9365 controller Tested-by: Riccardo Mereu Signed-off-by: Dmitry Baryshkov Reviewed-by: Linus Walleij --- drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 568 +++++++++++++++++++= ++++ 1 file changed, 568 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index aacb8968cd01..49c47f2bfbb9 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -2067,6 +2067,566 @@ static const struct jadard_panel_desc waveshare_4_0= _inch_c_desc =3D { MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, }; =20 +static int waveshare_8_0_a_init(struct jadard *jadard) +{ + struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D jadard->dsi }; + + jd9365da_switch_page(&dsi_ctx, 0x00); + jadard_enable_standard_cmds(&dsi_ctx); + + jd9365da_switch_page(&dsi_ctx, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x00); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x7e); + else + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x4e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x65); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x74); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0xb7); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0xb7); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0xfe); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x19); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3b, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x70); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0xa0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x0f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x28); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4b, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x56, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0xa9); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x58, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x19); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x78); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x63); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x54); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x38); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x28); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x62); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x23); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x70, 0x78); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x63); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x54); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x73, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0x38); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x28); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x62); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7c, 0x50); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7f, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x80, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x81, 0x23); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x82, 0x10); + + jd9365da_switch_page(&dsi_ctx, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x05, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x06, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x07, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x08, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0a, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0b, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0d, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0f, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x10, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x11, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x12, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x13, 0x35); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x14, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x15, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x16, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1d, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1e, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1f, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x20, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x21, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x22, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x23, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x25, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x26, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x27, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x28, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x29, 0x35); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2a, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x58, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5c, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x30); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x6b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x0c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x73); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x56); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x88); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x70, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x73, 0x7b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0xf8); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0xd5); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x2e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x12); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x03); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x7b); + + jd9365da_switch_page(&dsi_ctx, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x0e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0xb3); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x60); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x36, 0x59); + if (jadard->dsi->lanes !=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x58); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x0f); + } + + jd9365da_switch_page(&dsi_ctx, 0x00); + mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); + msleep(120); + mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); + msleep(60); + + return 0; +} + +static const struct drm_display_mode waveshare_8_0_a_mode =3D { + .clock =3D (800 + 40 + 20 + 20) * (1280 + 30 + 12 + 4) * 60 / 1000, + + .hdisplay =3D 800, + .hsync_start =3D 800 + 40, + .hsync_end =3D 800 + 40 + 20, + .htotal =3D 800 + 40 + 20 + 20, + + .vdisplay =3D 1280, + .vsync_start =3D 1280 + 30, + .vsync_end =3D 1280 + 30 + 12, + .vtotal =3D 1280 + 30 + 12 + 4, + + .width_mm =3D 107, + .height_mm =3D 172, + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +}; + +static const struct jadard_panel_desc waveshare_8_0_inch_a_desc =3D { + .mode_4ln =3D &waveshare_8_0_a_mode, + .mode_2ln =3D &waveshare_8_0_a_mode, + .format =3D MIPI_DSI_FMT_RGB888, + .init =3D waveshare_8_0_a_init, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, +}; + +static const struct drm_display_mode waveshare_10_1_a_mode =3D { + .clock =3D (800 + 40 + 20 + 20) * (1280 + 20 + 20 + 4) * 60 / 1000, + + .hdisplay =3D 800, + .hsync_start =3D 800 + 40, + .hsync_end =3D 800 + 40 + 20, + .htotal =3D 800 + 40 + 20 + 20, + + .vdisplay =3D 1280, + .vsync_start =3D 1280 + 20, + .vsync_end =3D 1280 + 20 + 20, + .vtotal =3D 1280 + 20 + 20 + 4, + + .width_mm =3D 135, + .height_mm =3D 216, + .type =3D DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +}; + +static int waveshare_10_1_a_init(struct jadard *jadard) +{ + struct mipi_dsi_multi_context dsi_ctx =3D { .dsi =3D jadard->dsi }; + + jd9365da_switch_page(&dsi_ctx, 0x00); + jadard_enable_standard_cmds(&dsi_ctx); + + jd9365da_switch_page(&dsi_ctx, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x00); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x3b); + else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x38); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x10); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x38); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x74); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0xaf); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0xaf); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x26); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x78); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0x7f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0xa0); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0x81); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x14); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x23); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x0d); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x28); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x69); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x59, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5a, 0x2a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x7f); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x6b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x5c); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x6a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x5b); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x60, 0x4f); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x4d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x3f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x2b); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x61, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x62, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x2a); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x65, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x66, 0x43); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x63); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x62); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x52); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x5a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x4f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x4e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x0f); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x59); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x3a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x26); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x70, 0x7f); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x6b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x5c); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x71, 0x6a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x72, 0x5b); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x73, 0x4f); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x4d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0x3f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x2b); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x74, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0x3d); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x76, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0x2a); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x43); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x43); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x63); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7b, 0x62); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7c, 0x52); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x5a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x4f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7f, 0x4e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x80, 0x20); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x81, 0x0f); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x59); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x4c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7f, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x80, 0x3a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x81, 0x26); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x82, 0x00); + + jd9365da_switch_page(&dsi_ctx, 0x02); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x05, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x06, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x07, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x08, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0a, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0b, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x37); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x01, 0x42); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x03, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x04, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x05, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x06, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x07, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x08, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0a, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0b, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0c, 0x77); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0d, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x47); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0f, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x10, 0x45); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x11, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x12, 0x4b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x13, 0x49); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x14, 0x49); + if (jadard->dsi->lanes =3D=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x15, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x16, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1d, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1e, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1f, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x20, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x21, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x22, 0x37); + } else { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x15, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x16, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x17, 0x41); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x18, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x19, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1a, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1b, 0x5e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1c, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1d, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1e, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x1f, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x20, 0x57); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x21, 0x77); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x22, 0x77); + } + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x23, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x24, 0x46); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x25, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x26, 0x44); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x27, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x28, 0x4a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x29, 0x48); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2a, 0x48); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x1f); + else + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x5f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2c, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2d, 0x01); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2e, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2f, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x30, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x31, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x32, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x33, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x34, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x35, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x36, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x38, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x39, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3a, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3b, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3c, 0x0a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3d, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3e, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x3f, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x40, 0x06); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x41, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x42, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x43, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x44, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x45, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x46, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x47, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x48, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x49, 0x1e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4a, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4b, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4c, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4d, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4e, 0x37); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x4f, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x50, 0x09); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x51, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x52, 0x0b); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x53, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x54, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x55, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x56, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x57, 0x1f); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x58, 0x40); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5b, 0x30); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5c, 0x16); + else + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5d, 0x34); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5e, 0x05); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x5f, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x63, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x64, 0x6a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x67, 0x73); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x1d); + else + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x68, 0x07); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x69, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6a, 0x6a); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6b, 0x08); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6c, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6d, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6e, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x6f, 0x88); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x75, 0xff); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x77, 0xdd); + if (jadard->dsi->lanes =3D=3D 4) + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x3f); + else + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x78, 0x2c); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x79, 0x15); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7a, 0x17); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7d, 0x14); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x7e, 0x82); + + jd9365da_switch_page(&dsi_ctx, 0x04); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x00, 0x0e); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x02, 0xb3); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x09, 0x61); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x0e, 0x48); + if (jadard->dsi->lanes !=3D 4) { + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x37, 0x58); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0x2b, 0x0f); + } + + jd9365da_switch_page(&dsi_ctx, 0x00); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0xe6, 0x02); + mipi_dsi_dcs_write_seq_multi(&dsi_ctx, 0xe7, 0x0c); + mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx); + msleep(120); + mipi_dsi_dcs_set_display_on_multi(&dsi_ctx); + msleep(60); + + return dsi_ctx.accum_err; +} + +static const struct jadard_panel_desc waveshare_10_1_inch_a_desc =3D { + .mode_4ln =3D &waveshare_10_1_a_mode, + .mode_2ln =3D &waveshare_10_1_a_mode, + .format =3D MIPI_DSI_FMT_RGB888, + .init =3D waveshare_10_1_a_init, + .mode_flags =3D MIPI_DSI_MODE_VIDEO_HSE | MIPI_DSI_MODE_VIDEO | + MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS, +}; + static int jadard_dsi_probe(struct mipi_dsi_device *dsi) { struct device *dev =3D &dsi->dev; @@ -2184,6 +2744,14 @@ static const struct of_device_id jadard_of_match[] = =3D { .compatible =3D "waveshare,4.0-dsi-touch-c", .data =3D &waveshare_4_0_inch_c_desc }, + { + .compatible =3D "waveshare,8.0-dsi-touch-a", + .data =3D &waveshare_8_0_inch_a_desc + }, + { + .compatible =3D "waveshare,10.1-dsi-touch-a", + .data =3D &waveshare_10_1_inch_a_desc + }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, jadard_of_match); --=20 2.47.3 From nobody Mon Jun 15 15:07:41 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 876C835AC1A for ; Sat, 11 Apr 2026 12:11:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909488; cv=none; b=e6bFVNxv6Dt41pzeStGN+T3Vq/uhgBjtXl2x2F0LS/vxY21gcT2IP/WI6MOtVyLWQjrzzU+R3fJTTyL/nrLGGh0HrQywXJeMiqJxqn+D0IVnsvSp1CywNlpxJui2qKx+GnFAyGTFz+RjAOq3bR5nxb7narkc1pe+WkRbYEM8Pt0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775909488; c=relaxed/simple; bh=JvqF2f/cZCMhRUTLLZ3SJuKR9e2V75AVI9tJJQKChzE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QWpmVifMAcjP8rCaxTv7/gY2rvDUB4CslrDBqVQ1AUrNSLsM4gwxwO2jnuo133mtgzMpq2dMe69uTa0zGTPatvUXkd51dviB36Emc1Po5ag/pNzwj1qx3PbP+6zOA+LQ5iecuHZpxzgIQRhVN15fj8wHnoOif5qlof9YwSV6OZo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=cv0KP0Wj; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=VEAPdaH7; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="cv0KP0Wj"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="VEAPdaH7" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63B4UJs73680806 for ; Sat, 11 Apr 2026 12:11:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= bLXfSDjoekZbd9bvQLrfW3Wspu0HUUR8lVk8k9/UCMc=; b=cv0KP0WjdhnxJJkz X4stA4ndlJqAiGjQw4CJJENEAjPwbz/L/2IwVvYlliiPxmiCsRewNS6jmPQfHSaW ouk0hinEni9zKvCp68z/Yd8dEdtjHddbyOpPBumXXAn6jrEy3coU5FJgSHGSDvuf 2sFUeW/uhox8A0r5rJXS6G0+4kbapb1mlsnoONMxiASrqkGsxcRJvyu/3M3Qi11m VhC/BneoiZooRosvyG2myoKz7+dLFe6usJVmhx+mP1OfP1Ol3ewxCkde4JsirTZp YqPENdftZ72dmud9kik/60EpTeWxVtBtdS+vXYb2jyh50q3g8vLb4iuuimCRlkQW aEUaQQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dffb0gkw1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sat, 11 Apr 2026 12:11:24 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50da529ff48so75318981cf.3 for ; Sat, 11 Apr 2026 05:11:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775909484; x=1776514284; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bLXfSDjoekZbd9bvQLrfW3Wspu0HUUR8lVk8k9/UCMc=; b=VEAPdaH72Ar7PGl02crwc21cD/FSlC4EW0N3PW5HlOiNCMAjpWB2QkIEblkazF9Jb4 wMR5T+BXhbGfOHooOwhfhyO2BcDVjMuiZIsP9cgbmCQl4zMOyrGWrBuK/ny1ZnGf8OnU 1ZYRUdv3UupdFcabtRGz5qtx4wr0LJD+jeCn9aJRqnJwSTkNg5xdq30TdV1AdShI89Qu fG8GzcGLPKX8dhYW3NV8gqd9mQKm5h1gchBNBycw8Zzme4skGJYVfx4SQjlova7Q/iBG S08B0hyM00s78s92qjM40T4wxhANHutewxNG/jEl4726lKGP1w8I6v5deOYqg4jHnZ+V JEUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775909484; x=1776514284; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=bLXfSDjoekZbd9bvQLrfW3Wspu0HUUR8lVk8k9/UCMc=; b=PfwsVKrmBA32afxx4QDNJo3Rd9Dp9Bq5WdwE7y6d3r/5lxzEiLTvD5CIXgSu6Yd35B IPix+1dC0nk4hNbHC1Fzpv5Wettp0fGyABG9Np3pFj3p/Yw0+Q/GNDSc5w19U4HWTXqw o2nOO0Wd+pDR/nqNm8ngOXQVyaVSxguRCFLdVY7Qh/VRp3NRl3yvPxIWn9IGVqJ9L+0G NrA5BsCPcMWdyWap5vN97cA+cWRVhQ7PliO79qmwacBfdlZl1htU9cN9B5TWCUF8Ow+3 vjNCOZ4lWaAh0CweRr6k6rtr5GZQgV0Uhnz8gnBJWObhhZFE/Tcc4QNuq6RGVZdHvwDU H7Sw== X-Forwarded-Encrypted: i=1; AJvYcCXit3yfrtCbAnG5n+PFdBDqmHbqDqRuqfun1WKeio8wTkWarRUVWTBccK4KqxTU63omOfzTDyiuAmXMOyk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7yoyP5TYsAjzlxlSU8FmEynqPcCA/gVkL+zEHF+Gf453RHVDN JdKUjh9M9jE1YmAW+f3a3ZrjJFyMusuFPzuD/I/fCncjB9RDICdBBUTL8gdRytgEy8YbUk9fgFu A0P2a8ypyAudyU+7wNBQZZVTitmMFOhXwpfL5l5aYpkgKlByiw+UC8HU2KDZW272pZ6I= X-Gm-Gg: AeBDietAiSU3htUSfA80ShDvnnv6lRmMs27o+43+uiEnPK3+RfkKGQzVsxCdZ6YnX7H C8kTz12IZ/wy1tCJGligRACF7HsUj4HVDW+80fBNCMaEimPPNPIEL3hBSJcffLb0IhXgfSQIaUI mxd6b9kpmj7QRmREfKeDLyESHDt6VqdSdWS8jEW7LKWFP7V4X9AB6YfQuE5nVmXUn618xu+RYE2 cgk3bAVRR66KmAj4mTOlHjzpK+L9hNpPfpAck4G4BQp28ldrlOgWEb0t5FmK4kfkFxtmN63tNJP Il0ugTcHll+ioB4rzpDNOnjvrDfJtbxzwDhh91sgA0f1NKrbqAgMaQTSTCgbacndq3IPs58iU2N KeR9KZ1FU+aVkU14yLOwsRG/mCgND1lpdot5k8OmXJ/2q+B97h69TQ5Y/CcQVzc/aFyDGhp7rPj L7XrqPbo416+Gi8d6Phbet5C2UaNyPh80sFcc= X-Received: by 2002:a05:622a:994:b0:50d:8656:3e60 with SMTP id d75a77b69052e-50dd5bbe54amr99622511cf.50.1775909483508; Sat, 11 Apr 2026 05:11:23 -0700 (PDT) X-Received: by 2002:a05:622a:994:b0:50d:8656:3e60 with SMTP id d75a77b69052e-50dd5bbe54amr99621791cf.50.1775909482951; Sat, 11 Apr 2026 05:11:22 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38e495b4e73sm11906291fa.41.2026.04.11.05.11.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Apr 2026 05:11:21 -0700 (PDT) From: Dmitry Baryshkov Date: Sat, 11 Apr 2026 15:10:36 +0300 Subject: [PATCH v2 16/21] drm/panel: jadard-jd9365da-h3: support Waveshare 720p DSI panels Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260411-waveshare-dsi-touch-v2-16-75cdbeac5156@oss.qualcomm.com> References: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> In-Reply-To: <20260411-waveshare-dsi-touch-v2-0-75cdbeac5156@oss.qualcomm.com> To: Neil Armstrong , Jessica Zhang , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Cong Yang , Ondrej Jirman , Javier Martinez Canillas , Jagan Teki , Liam Girdwood , Mark Brown , Linus Walleij , Bartosz Golaszewski Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Riccardo Mereu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=15643; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=JvqF2f/cZCMhRUTLLZ3SJuKR9e2V75AVI9tJJQKChzE=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBp2jpHxs0Q1JzRrabrpyj4PDSGdzcs9h82ZlLLi s+VFTYhiKSJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCado6RwAKCRCLPIo+Aiko 1W2uB/9Ud0l6ZOaZ4qPQ9Pio9PlHlDlQmZvIw2SR9EV+0zZlfBW2Uz5Id6eCb9Q+2r/cyvvrx76 gl5h8Z22nIfTi20bGWBb5wZXG6PAdTynJqJYhQoZY0tFtUZ2TL2TRJ/sTemEjf0ShhtYnO6l8Js 5iOWj4tuRBpDv0YVvC1YQUeqsMwf7N1t3jqjKQbtuKfP7O8N2rpIlgjw25Meqm04c5QQL+YvBA0 U/0r20BxjIQHOubkZsvTHZthfIK27YbuWh1/r3rq/dOpzkMU03VqL8GNiq2HKqOPj37uors7Fnh k3Jd+af8fQAZ4j9pEg58o4CZPoL11mpFr7f4ngjkwmGrPq8i X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=YfmNIQRf c=1 sm=1 tr=0 ts=69da3a6c cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=qgCH2gcBsTXXTDX92PcA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDExMDEwMiBTYWx0ZWRfXzAkympoFTfeL N3pv+06SqON+kbwLN+ar7Y/Zf42ZIKKDoX7lS8srpzj1k7AO0q8tX+XuFC7xsELX6nida2Yw2SF VAVfRuagtYokHDGBMJlCUaB+hKkXAlUvZzSlpyzv9dBhAIvuapX6tF09K7+LyTvlkQcflTaiei5 weRflbmmRmt31zVwpgDGwm/Lx3RB0SIsSa7RammAqNwYpQGS+WDxFBc2fVwNg2lmHCMKDamla3A m2jUuo+i1ypVIgaO30QQI0iAcQ0vROQel1wwDUklsz27/nC5oG3jRT3kKe3Ra/xdnRy2dUh7fs0 B9e+Nd9BZsSBsoApWlqVFIL7eQas1MWIsxUshGLFxBN09jOG3c4Bg6l80nhr9FR4MlWbds09i/T cgx/q4jUbulCReS+Mp3huMSQkYYvFX5Cyr1weZmxK82WZyOShKRGSCMQYAJfL95yxKqpO9fbHkY uwWyWdLjkcQqK4Ix7kw== X-Proofpoint-ORIG-GUID: nTzow-hmIDjme80k2eyFpOiWlFcjfw0b X-Proofpoint-GUID: nTzow-hmIDjme80k2eyFpOiWlFcjfw0b X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-11_03,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604110102 Add configuration for Waveshare 9.0" and 10.1" 720p DSI panels using JD9365 controller. Tested-by: Riccardo Mereu Signed-off-by: Dmitry Baryshkov Reviewed-by: Linus Walleij --- drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c | 312 +++++++++++++++++++= ++++ 1 file changed, 312 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c b/drivers/gpu= /drm/panel/panel-jadard-jd9365da-h3.c index 49c47f2bfbb9..e9a461239301 100644 --- a/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c +++ b/drivers/gpu/drm/panel/panel-jadard-jd9365da-h3.c @@ -21,6 +21,8 @@ #include #include =20 +#include