From patchwork Fri Feb 16 10:10:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 202062 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp413230dyb; Fri, 16 Feb 2024 02:12:24 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUWrRshGOIrYuqr1nd0JMDtH0UeG+eEbyASDmhxLK2U5MdIwwbM4hFkbfBzrQ5QAlXemvSZMIFxRL9BAKlLGS19TMfEew== X-Google-Smtp-Source: AGHT+IFO5CEAqS7Uj/gFiEDeHXsQytR0WGdwTtHYXTuDkUgotd2fJ9UjSb4E72PSM5DjofP54Al4 X-Received: by 2002:aa7:d614:0:b0:561:5a24:65fc with SMTP id c20-20020aa7d614000000b005615a2465fcmr3322405edr.5.1708078344558; Fri, 16 Feb 2024 02:12:24 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708078344; cv=pass; d=google.com; s=arc-20160816; b=kKeuwChoaXlhXKsnfT6YZrSvzRTqQ7GTw2QBXWqmuwyfh19agnwFJT2RhomzQ4Q3vZ j21HzSG9s05EnWBP8GF2Itw4/RwfOMMomX3GaKiMCF1XG08oTSTKKoIfomCOt58qvLD3 Myo6iwlAsNNJ6KOJRwlYci5F4yrApsg1uS9JCQ5tkuAwtbUuaTAgZ/TNBDfxWg6pM4Uf MRozgqxnxaLKAkAK0G1pfdH6P5mDq8DYgagVjzPR7d3I5GV0bMVUYdvpt/PXur1+0rJs s0RzuUYBYlq4l9xeZrYk20Ck5RduauRreiZCVhDrp64zLTWyaPw/Krk9R20rwFlUtZps Z0/A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=ytAhWz1L3xYxXELaLgaUujOMD+Gva0kVPECBIzo4HAQ=; fh=d00g4LsJOSoFMhbXygP4VUXzoQhiDFpIiM272tnJrkM=; b=BWpJfMU+d1ztJoXKcECYrBlMo2M7UKHlrhHIQ4fRL3YMtGHaH/PFiqfT5k+bHuOQIr Q2MxubC/go6RkOCF5hpd0vgDjuq5HAWIDgOqOp78V/ytprdd+MJNc5MOpE0FpD/Z+uBc /itODF+9YaYgDnXXmCRGnHchRDkvWT0MEkPI5M1gGMR6ayRSi4jPkAi9A5pOh7JMIks4 Wpi6wuIyOU+hmiX7nLGhHa5byiPLuzPLJKjjebqMuxY7Tbn9lFH19Ml/Yfo/vN+2hVJL mobpo01ge/uXakttVQxsPOdgLDv7wmQIRnmwBvjQX/jf3zXFxo09k0jvWrI5hXGHb7kg QNRQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=TQvFmFoj; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68420-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68420-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id cm25-20020a0564020c9900b00563fc51160csi243342edb.677.2024.02.16.02.12.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:12:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-68420-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=TQvFmFoj; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68420-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68420-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 751941F24EB0 for ; Fri, 16 Feb 2024 10:12:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A1CD1208A5; Fri, 16 Feb 2024 10:10:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="TQvFmFoj" Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B7271CD13 for ; Fri, 16 Feb 2024 10:10:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078256; cv=none; b=Nf3ClAutyD8prao+mod0LNoKBdnZfVrggOskK5H6sGrkUjnU7TpLh33eBnTCnrwT5tlXebhwQY5M66tC7ylfZAyMW4BS5iVfKklLFfV3Nvz0HvTgbllam+j86U5lX0WBM/L4Z7x6d33Q2/UDO0WuhO9y/nBZuYAOzdLIxlmVlxI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078256; c=relaxed/simple; bh=ibncrYSMoUQ3CoKZDrifhpZ0i3VODGcZmC6xuCZUXbc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n/tajE5bztYRUmq/kYhL99HI95fHFNtYdbDjSAIFFJ1we/WlDodQescFQH0iXgUe85m1PohYkQOYcMCHbNBHlKXq5CKU+vKdmeHCWz+jDEPAVSkK2+HG5VZzQz0RQ4MH58t3fZlnBU63K5ylf6a2p63/10v6mMFJm1rDlG3E1k0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=TQvFmFoj; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5128812662eso776167e87.0 for ; Fri, 16 Feb 2024 02:10:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1708078252; x=1708683052; 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=ytAhWz1L3xYxXELaLgaUujOMD+Gva0kVPECBIzo4HAQ=; b=TQvFmFojycJeF2Z2j79M23GDp/vPI6XhPa2c2/LCyYN7oEG1a+Dtv8ZMfVoc8iai2u MQuQknk8LilwVKYoSM1himwn75nr5j0AOOtNr8biRMlA8MGIyiF2UkbvfOYRC/OqqPTz 5XzVIstRB4eLQFf1y/p/t6UgDjM3Ve1GdbpD4rbTlbVn4dwbX9S+lZAQnVkMr/ZEPARV km/2k5LHCVOb1/SNg5BRrRPpwScyNe2bXAZeXowIyqofODV7I/DVIFDOlXxVFLYHRJvJ 8HuJm8cSpVXReIipQqCDJsWSHxc5iJ5aUfzdYZcObcblndA8ZSQE/gauFKeb9KOiK/uJ uc3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708078252; x=1708683052; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ytAhWz1L3xYxXELaLgaUujOMD+Gva0kVPECBIzo4HAQ=; b=aTU43vqpm+H6jqVrSEJHfezeIyimz+751rI78ThmrPwUBdEINIrdLHdnuH+Eh+5RTt awI1AWiW2u42CR32eWoybSmQzzx+JZ7DLTAkZmqoJrytmYSYPBFYMzEa/cVG3qb3io6D 0zVEGvnb3qxGHkZHXGDgWu+IadK9oodpdcBw03cmn+U8qkiQbm62eOsCzlDchp5xJ6FJ SpdCRzVf3eSJ2znmJjFQfTJKODlQyBEnAQgMLDm9/3ilBoFEQbpkZs0mDW+nNwATuJ9g BJnJ3HiHKuVpWT58p3aWL9h7FJcujMahoNTKjm+YEspe2OJGmIuyIzEPlzhLM79KEhUo mxww== X-Forwarded-Encrypted: i=1; AJvYcCUkeJTdoWRNcOZMuj+kVrBUcmBWXJPh0qh0a1fnHavv53lB3DMnLeZ3/Hy1hGadQs9lYJgdjHgAlYxJtrM0wKumn6bpzOQjHyXtUDDa X-Gm-Message-State: AOJu0Yx/HLjhgR5NsAAK8S5nCJHBiYsbYejspW0XIwN3QteryWD5zoFw QCg3P8LLRQD0Vq6UXhj9a7TGgPsTXdHJONgDSWIJmvaUI4Gr0AxPcR97wyX4P7E= X-Received: by 2002:ac2:4db7:0:b0:511:dc62:7f95 with SMTP id h23-20020ac24db7000000b00511dc627f95mr3369194lfe.15.1708078252249; Fri, 16 Feb 2024 02:10:52 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id s18-20020a170906169200b00a3d1897ab68sm1398019ejd.113.2024.02.16.02.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:10:51 -0800 (PST) From: Luca Weiss Date: Fri, 16 Feb 2024 11:10:48 +0100 Subject: [PATCH v3 1/4] dt-bindings: display: panel: Add Himax HX83112A Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240216-fp4-panel-v3-1-a556e4b79640@fairphone.com> References: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> In-Reply-To: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Andy Gross Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Luca Weiss , Krzysztof Kozlowski X-Mailer: b4 0.12.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791049957913493460 X-GMAIL-MSGID: 1791049957913493460 Himax HX83112A is a display driver IC used to drive LCD DSI panels. Describe it and the DJN 9A-3R063-1102B using it. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Luca Weiss --- .../bindings/display/panel/himax,hx83112a.yaml | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/Documentation/devicetree/bindings/display/panel/himax,hx83112a.yaml b/Documentation/devicetree/bindings/display/panel/himax,hx83112a.yaml new file mode 100644 index 000000000000..174661d13811 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/himax,hx83112a.yaml @@ -0,0 +1,74 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/himax,hx83112a.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Himax HX83112A-based DSI display panels + +maintainers: + - Luca Weiss + +description: + The Himax HX83112A is a generic DSI Panel IC used to control + LCD panels. + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + contains: + const: djn,9a-3r063-1102b + + vdd1-supply: + description: Digital voltage rail + + vsn-supply: + description: Positive source voltage rail + + vsp-supply: + description: Negative source voltage rail + + reg: true + port: true + +required: + - compatible + - reg + - reset-gpios + - vdd1-supply + - vsn-supply + - vsp-supply + - port + +unevaluatedProperties: false + +examples: + - | + #include + + dsi { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "djn,9a-3r063-1102b"; + reg = <0>; + + backlight = <&pm6150l_wled>; + reset-gpios = <&pm6150l_gpios 9 GPIO_ACTIVE_LOW>; + + vdd1-supply = <&vreg_l1e>; + vsn-supply = <&pm6150l_lcdb_ncp>; + vsp-supply = <&pm6150l_lcdb_ldo>; + + port { + panel_in_0: endpoint { + remote-endpoint = <&dsi0_out>; + }; + }; + }; + }; + +... From patchwork Fri Feb 16 10:10:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 202064 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp413314dyb; Fri, 16 Feb 2024 02:12:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCU7owEiki1otLPZaPMDKz5k7AXbgzfYwcoVKZWztBXzVU1xqF4DsC44JraZD9VEhy82VPme2KDvOiZVGl+spXUfpjbz0g== X-Google-Smtp-Source: AGHT+IG77kknJxqN26g9UE0/EgCXe9yLWfhTDnvkxb4NmBOXmCr+SVsJ6qE2xGzr1KvSBSdwNzDy X-Received: by 2002:a17:906:ce2b:b0:a3c:1603:7bc6 with SMTP id sd11-20020a170906ce2b00b00a3c16037bc6mr5607707ejb.36.1708078357327; Fri, 16 Feb 2024 02:12:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708078357; cv=pass; d=google.com; s=arc-20160816; b=dATvV9guPXaJ/kvzjNn4xkAXXohXmTJ+joP6p6mIn0GlKs4waa2fSzuGnnw1kUU3fE fwn3uX22v0sMlRW2YmOf5n6iSeNR3NtyBoQHJ/jSw7R+geuq7adX6sMq+MJVKJJwFpDA P+OTP4x/c213z7PulH6ICxyrRnOu3fSXNf5luAozHwBARqTnZ0DjnzSAz6EtnRifgVil coPiDJ+BotB3a+hHo3DNHi2oTCXpPzTdEbpVHiW2ZqaJV/fYcuXjpMK+ZjHSmKen1/Tg gT4Psh49RZd6+S6wOABzy1dWI1fEcbKg9diZMn6JB+b4vFxrYN7Umlz4ZJ7U1sBMF9Ox KoNQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=8BdleER+Upt/8G5kJnn9lGaGd/Sw92aIgsDaf6xFwRc=; fh=SGac0Tpy543jXbjdCSkqmLmIHk8KbACdd/HLyQEHTrM=; b=ERdWA02h6oH0q+LXGd533ixnaCu0rc8/3JfvXpkZLtmNhPxwB0U9qJu0PnWdCyLg2N 6oocoSLzS5KXRLF0p5b+Ws9yXGZPxJUwFDrmJUZm27DjhSwrqIVYT4CAYpHoMR8iKFHC VUFoUz/HMucKgPsJijO/wX+f+8vl+n2Wk3mkCc68ltQ83v1IU5lL67AFa6TkEV9z+rHM vfRcL5Y11rHMr1GiXuuEiGLEQpvYMWS2NGyhNeoP7zekPQEB9emzZEKjTPAqIJ+78E0T DMkemujgDhFE3pfqIPyMw8JGhd2ElfenuCOHSVlmxcfrIQt/n1CVgPEvhUbVqNu2VY2m cE+Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b="SL6+Xu/p"; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68421-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68421-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id o19-20020a1709061b1300b00a3d084ffb47si1460597ejg.879.2024.02.16.02.12.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:12:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-68421-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b="SL6+Xu/p"; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68421-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68421-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id C26401F21171 for ; Fri, 16 Feb 2024 10:12:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1052020DF7; Fri, 16 Feb 2024 10:11:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="SL6+Xu/p" Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF0771CD1F for ; Fri, 16 Feb 2024 10:10:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078257; cv=none; b=jOc3udfOGIOjQiwLXttHwJaOusFiaZpX7lcPtIQ69Udk9KWnCx86wejYFvSiRpiHmVihR6c5+rEhTpdWyXWbsFV/FT0tyfrkOGR1XVKzxNOjLmQH0wH1xtPrHExAFwg9MN2qLMNtiL87GxBJa02v3ATaqCa1WPRx8czLTW7td6I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078257; c=relaxed/simple; bh=a9QmAFrmYG6gI98QrMjBQQ0E9Da0xJddAA2/7J+c+Xc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BVXAzvEYrxsfhrUwRvB6GOqiQTXLLz2q6IC6Wx7VGnw9QAGrrEn5YVBZS5lM4BdJiui4ncXvCrYIhQoT7g728yP0B1EyRWothqA4IY4/iFGSwNPL0sBzIhw4V/dNPa7LcanoQXRud6gtcb4c48g0qdUPQnPApapE5dg9Ni2RdmA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=SL6+Xu/p; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a3d6ea28d46so369149366b.1 for ; Fri, 16 Feb 2024 02:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1708078253; x=1708683053; 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=8BdleER+Upt/8G5kJnn9lGaGd/Sw92aIgsDaf6xFwRc=; b=SL6+Xu/pupBPoWKF9w/o8SFsnxuw1ULcsINQkpr5D41tvsbpl49jnVxVonm3m+kZR1 CtV/04sWCayNMoL1GKf1e5PVsoI2wIgWBEHAdRxxzbi9rqts/bcI+iY89/irQkAEL58M fTLNBZZo7LYOOZZI/4hc7LxXN0OrujUoHDIkjF8cvhEPGRYP773K0nfFvXye1Tbkf2nz UpaW7GS1+AfEkhA4E4IKVxeDMJc58DreqVsfgDlrd1GBaXvawj0+mCgLoYiWXENpeY5c NMxk038czJvA09XB7b5JFrUEJD+9xTlHUYzoKejWovu6rhLn2yqaYB4SKTnT/aITfWwj nzCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708078253; x=1708683053; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8BdleER+Upt/8G5kJnn9lGaGd/Sw92aIgsDaf6xFwRc=; b=wn0kHGFmSUIolN4tLJxxy54U9STuTOACuIQEbpw4gEF9DbWlPBbZvhL/ulxqiowMIq viFvK1jE+8HfAh5OGXL7PHmBVZylxitaj2Q2qclqmSUozoOGLjhDQs18KIBAhKRWcltJ Oo/SV5k7/DRj6HU+q+dcTGe7lbanJXGTZuzB19aN0qGSW9FxfP6e5UOCYqM1bmf8QzTX BFHSACUR5vpc1HRHvy0B2ohEmIYx/70Ndx578fL6O1r6RnT5gZ27VMdk0z7G7dXhlGIR gsDNPzpDG3OC0V5ogtjUJvKoZ4Yp3ksKeRQiOgNhQtYV969SHNXyUO8yIu9Vq7pdUuZI f21A== X-Forwarded-Encrypted: i=1; AJvYcCULHIeTya6r8s1nVyQkYFLgHsGqmYoGGY9GVyMoM2dt5ZXfvXG8IyJG8tlcK5UX5h+oA4ZrBh73ZNCxT+1sdTCTFEbisuDpOCYf8YLc X-Gm-Message-State: AOJu0YxDSMhqotcYlpLFwGe2GBtulfr5kpd9jWo00Zj9DJE3LAdLlrR8 0KTFqPW6h6tpJ4+EH9q+QmD10zn1SIlOWWV+QxTmSdiJsSN1YZG1gYRZWR8cNIQ= X-Received: by 2002:a17:907:1c21:b0:a38:4dc0:22f9 with SMTP id nc33-20020a1709071c2100b00a384dc022f9mr8040215ejc.4.1708078253190; Fri, 16 Feb 2024 02:10:53 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id s18-20020a170906169200b00a3d1897ab68sm1398019ejd.113.2024.02.16.02.10.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:10:52 -0800 (PST) From: Luca Weiss Date: Fri, 16 Feb 2024 11:10:49 +0100 Subject: [PATCH v3 2/4] drm/panel: Add driver for DJN HX83112A LCD panel Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240216-fp4-panel-v3-2-a556e4b79640@fairphone.com> References: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> In-Reply-To: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Andy Gross Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Luca Weiss X-Mailer: b4 0.12.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791049971722288776 X-GMAIL-MSGID: 1791049971722288776 Add support for the 2340x1080 LCD panel (DJN 9A-3R063-1102B) bundled with a HX83112A driver IC, as found on the Fairphone 4 smartphone. Signed-off-by: Luca Weiss Reviewed-by: Neil Armstrong --- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-himax-hx83112a.c | 372 +++++++++++++++++++++++++++ 3 files changed, 383 insertions(+) diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 8f3783742208..7e25a4609682 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -162,6 +162,16 @@ config DRM_PANEL_FEIYANG_FY07024DI26A30D Say Y if you want to enable support for panels based on the Feiyang FY07024DI26A30-D MIPI-DSI interface. +config DRM_PANEL_HIMAX_HX83112A + tristate "Himax HX83112A-based DSI panel" + 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 Himax HX83112A-based + display panels, such as the one found in the Fairphone 4 smartphone. + config DRM_PANEL_HIMAX_HX8394 tristate "HIMAX HX8394 MIPI-DSI LCD panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index d94a644d0a6c..f3e40f24d516 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_DRM_PANEL_EBBG_FT8719) += panel-ebbg-ft8719.o obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o +obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112A) += panel-himax-hx83112a.o obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o diff --git a/drivers/gpu/drm/panel/panel-himax-hx83112a.c b/drivers/gpu/drm/panel/panel-himax-hx83112a.c new file mode 100644 index 000000000000..466c27012abf --- /dev/null +++ b/drivers/gpu/drm/panel/panel-himax-hx83112a.c @@ -0,0 +1,372 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree. + * Copyright (c) 2024 Luca Weiss + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +/* Manufacturer specific DSI commands */ +#define HX83112A_SETPOWER1 0xb1 +#define HX83112A_SETDISP 0xb2 +#define HX83112A_SETDRV 0xb4 +#define HX83112A_SETEXTC 0xb9 +#define HX83112A_SETBANK 0xbd +#define HX83112A_SETPTBA 0xbf +#define HX83112A_SETDGCLUT 0xc1 +#define HX83112A_SETTCON 0xc7 +#define HX83112A_SETCLOCK 0xcb +#define HX83112A_SETPANEL 0xcc +#define HX83112A_SETPOWER2 0xd2 +#define HX83112A_SETGIP0 0xd3 +#define HX83112A_SETGIP1 0xd5 +#define HX83112A_SETGIP2 0xd6 +#define HX83112A_SETGIP3 0xd8 +#define HX83112A_SETTP1 0xe7 +#define HX83112A_UNKNOWN1 0xe9 + +struct hx83112a_panel { + struct drm_panel panel; + struct mipi_dsi_device *dsi; + struct regulator_bulk_data supplies[3]; + struct gpio_desc *reset_gpio; +}; + +static inline struct hx83112a_panel *to_hx83112a_panel(struct drm_panel *panel) +{ + return container_of(panel, struct hx83112a_panel, panel); +} + +static void hx83112a_reset(struct hx83112a_panel *ctx) +{ + gpiod_set_value_cansleep(ctx->reset_gpio, 0); + msleep(20); + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + msleep(20); + gpiod_set_value_cansleep(ctx->reset_gpio, 0); + msleep(50); +} + +static int hx83112a_on(struct hx83112a_panel *ctx) +{ + struct mipi_dsi_device *dsi = ctx->dsi; + struct device *dev = &dsi->dev; + int ret; + + dsi->mode_flags |= MIPI_DSI_MODE_LPM; + + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETEXTC, 0x83, 0x11, 0x2a); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETPOWER1, + 0x08, 0x28, 0x28, 0x83, 0x83, 0x4c, 0x4f, 0x33); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDISP, + 0x00, 0x02, 0x00, 0x90, 0x24, 0x00, 0x08, 0x19, + 0xea, 0x11, 0x11, 0x00, 0x11, 0xa3); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDRV, + 0x58, 0x68, 0x58, 0x68, 0x0f, 0xef, 0x0b, 0xc0, + 0x0b, 0xc0, 0x0b, 0xc0, 0x00, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x14, 0x15, 0x00, 0x29, 0x11, 0x07, + 0x12, 0x00, 0x29); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x02); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDRV, + 0x00, 0x12, 0x12, 0x11, 0x88, 0x12, 0x12, 0x00, + 0x53); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x03); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDGCLUT, + 0xff, 0xfe, 0xfb, 0xf8, 0xf4, 0xf1, 0xed, 0xe6, + 0xe2, 0xde, 0xdb, 0xd6, 0xd3, 0xcf, 0xca, 0xc6, + 0xc2, 0xbe, 0xb9, 0xb0, 0xa7, 0x9e, 0x96, 0x8d, + 0x84, 0x7c, 0x74, 0x6b, 0x62, 0x5a, 0x51, 0x49, + 0x41, 0x39, 0x31, 0x29, 0x21, 0x19, 0x12, 0x0a, + 0x06, 0x05, 0x02, 0x01, 0x00, 0x00, 0xc9, 0xb3, + 0x08, 0x0e, 0xf2, 0xe1, 0x59, 0xf4, 0x22, 0xad, + 0x40); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x02); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDGCLUT, + 0xff, 0xfe, 0xfb, 0xf8, 0xf4, 0xf1, 0xed, 0xe6, + 0xe2, 0xde, 0xdb, 0xd6, 0xd3, 0xcf, 0xca, 0xc6, + 0xc2, 0xbe, 0xb9, 0xb0, 0xa7, 0x9e, 0x96, 0x8d, + 0x84, 0x7c, 0x74, 0x6b, 0x62, 0x5a, 0x51, 0x49, + 0x41, 0x39, 0x31, 0x29, 0x21, 0x19, 0x12, 0x0a, + 0x06, 0x05, 0x02, 0x01, 0x00, 0x00, 0xc9, 0xb3, + 0x08, 0x0e, 0xf2, 0xe1, 0x59, 0xf4, 0x22, 0xad, + 0x40); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x01); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDGCLUT, + 0xff, 0xfe, 0xfb, 0xf8, 0xf4, 0xf1, 0xed, 0xe6, + 0xe2, 0xde, 0xdb, 0xd6, 0xd3, 0xcf, 0xca, 0xc6, + 0xc2, 0xbe, 0xb9, 0xb0, 0xa7, 0x9e, 0x96, 0x8d, + 0x84, 0x7c, 0x74, 0x6b, 0x62, 0x5a, 0x51, 0x49, + 0x41, 0x39, 0x31, 0x29, 0x21, 0x19, 0x12, 0x0a, + 0x06, 0x05, 0x02, 0x01, 0x00, 0x00, 0xc9, 0xb3, + 0x08, 0x0e, 0xf2, 0xe1, 0x59, 0xf4, 0x22, 0xad, + 0x40); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETDGCLUT, 0x01); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETTCON, + 0x70, 0x00, 0x04, 0xe0, 0x33, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETPANEL, 0x08); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETPOWER2, 0x2b, 0x2b); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, + 0x08, 0x03, 0x03, 0x22, 0x18, 0x07, 0x07, 0x07, + 0x07, 0x32, 0x10, 0x06, 0x00, 0x06, 0x32, 0x10, + 0x07, 0x00, 0x07, 0x32, 0x19, 0x31, 0x09, 0x31, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x09, 0x30, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x00, + 0x0f); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x01); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP0, + 0x00, 0x00, 0x19, 0x10, 0x00, 0x0a, 0x00, 0x81); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP1, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0xc0, 0xc0, 0x18, 0x18, 0x19, 0x19, 0x18, 0x18, + 0x40, 0x40, 0x18, 0x18, 0x18, 0x18, 0x3f, 0x3f, + 0x28, 0x28, 0x24, 0x24, 0x02, 0x03, 0x02, 0x03, + 0x00, 0x01, 0x00, 0x01, 0x31, 0x31, 0x31, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x2f, 0x2f, 0x2f, 0x2f); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP2, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x40, 0x40, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, + 0x40, 0x40, 0x18, 0x18, 0x18, 0x18, 0x3f, 0x3f, + 0x24, 0x24, 0x28, 0x28, 0x01, 0x00, 0x01, 0x00, + 0x03, 0x02, 0x03, 0x02, 0x31, 0x31, 0x31, 0x31, + 0x30, 0x30, 0x30, 0x30, 0x2f, 0x2f, 0x2f, 0x2f); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP3, + 0xaa, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, + 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xea, 0xab, 0xaa, + 0xaa, 0xaa, 0xaa, 0xea, 0xab, 0xaa, 0xaa, 0xaa); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x01); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP3, + 0xaa, 0x2e, 0x28, 0x00, 0x00, 0x00, 0xaa, 0x2e, + 0x28, 0x00, 0x00, 0x00, 0xaa, 0xee, 0xaa, 0xaa, + 0xaa, 0xaa, 0xaa, 0xee, 0xaa, 0xaa, 0xaa, 0xaa); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x02); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP3, + 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xff, + 0xff, 0xff, 0xff, 0xff); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x03); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETGIP3, + 0xaa, 0xaa, 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, + 0xea, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETTP1, + 0x0e, 0x0e, 0x1e, 0x65, 0x1c, 0x65, 0x00, 0x50, + 0x20, 0x20, 0x00, 0x00, 0x02, 0x02, 0x02, 0x05, + 0x14, 0x14, 0x32, 0xb9, 0x23, 0xb9, 0x08); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x01); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETTP1, + 0x02, 0x00, 0xa8, 0x01, 0xa8, 0x0d, 0xa4, 0x0e); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x02); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETTP1, + 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETBANK, 0x00); + mipi_dsi_dcs_write_seq(dsi, HX83112A_UNKNOWN1, 0xc3); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETCLOCK, 0xd1, 0xd6); + mipi_dsi_dcs_write_seq(dsi, HX83112A_UNKNOWN1, 0x3f); + mipi_dsi_dcs_write_seq(dsi, HX83112A_UNKNOWN1, 0xc6); + mipi_dsi_dcs_write_seq(dsi, HX83112A_SETPTBA, 0x37); + mipi_dsi_dcs_write_seq(dsi, HX83112A_UNKNOWN1, 0x3f); + + ret = mipi_dsi_dcs_exit_sleep_mode(dsi); + if (ret < 0) { + dev_err(dev, "Failed to exit sleep mode: %d\n", ret); + return ret; + } + msleep(150); + + ret = mipi_dsi_dcs_set_display_on(dsi); + if (ret < 0) { + dev_err(dev, "Failed to set display on: %d\n", ret); + return ret; + } + msleep(50); + + return 0; +} + +static int hx83112a_disable(struct drm_panel *panel) +{ + struct hx83112a_panel *ctx = to_hx83112a_panel(panel); + struct mipi_dsi_device *dsi = ctx->dsi; + struct device *dev = &dsi->dev; + int ret; + + dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; + + ret = mipi_dsi_dcs_set_display_off(dsi); + if (ret < 0) { + dev_err(dev, "Failed to set display off: %d\n", ret); + return ret; + } + msleep(20); + + ret = mipi_dsi_dcs_enter_sleep_mode(dsi); + if (ret < 0) { + dev_err(dev, "Failed to enter sleep mode: %d\n", ret); + return ret; + } + msleep(120); + + return 0; +} + +static int hx83112a_prepare(struct drm_panel *panel) +{ + struct hx83112a_panel *ctx = to_hx83112a_panel(panel); + struct device *dev = &ctx->dsi->dev; + int ret; + + ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); + if (ret < 0) { + dev_err(dev, "Failed to enable regulators: %d\n", ret); + return ret; + } + + hx83112a_reset(ctx); + + ret = hx83112a_on(ctx); + if (ret < 0) { + dev_err(dev, "Failed to initialize panel: %d\n", ret); + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); + return ret; + } + + return 0; +} + +static int hx83112a_unprepare(struct drm_panel *panel) +{ + struct hx83112a_panel *ctx = to_hx83112a_panel(panel); + + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); + + return 0; +} + +static const struct drm_display_mode hx83112a_mode = { + .clock = (1080 + 28 + 8 + 8) * (2340 + 27 + 5 + 5) * 60 / 1000, + .hdisplay = 1080, + .hsync_start = 1080 + 28, + .hsync_end = 1080 + 28 + 8, + .htotal = 1080 + 28 + 8 + 8, + .vdisplay = 2340, + .vsync_start = 2340 + 27, + .vsync_end = 2340 + 27 + 5, + .vtotal = 2340 + 27 + 5 + 5, + .width_mm = 67, + .height_mm = 145, + .type = DRM_MODE_TYPE_DRIVER, +}; + +static int hx83112a_get_modes(struct drm_panel *panel, + struct drm_connector *connector) +{ + return drm_connector_helper_get_modes_fixed(connector, &hx83112a_mode); +} + +static const struct drm_panel_funcs hx83112a_panel_funcs = { + .prepare = hx83112a_prepare, + .unprepare = hx83112a_unprepare, + .disable = hx83112a_disable, + .get_modes = hx83112a_get_modes, +}; + +static int hx83112a_probe(struct mipi_dsi_device *dsi) +{ + struct device *dev = &dsi->dev; + struct hx83112a_panel *ctx; + int ret; + + ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); + if (!ctx) + return -ENOMEM; + + ctx->supplies[0].supply = "vdd1"; + ctx->supplies[1].supply = "vsn"; + ctx->supplies[2].supply = "vsp"; + ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), + ctx->supplies); + if (ret < 0) + return dev_err_probe(dev, ret, "Failed to get regulators\n"); + + ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); + if (IS_ERR(ctx->reset_gpio)) + return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio), + "Failed to get reset-gpios\n"); + + ctx->dsi = dsi; + mipi_dsi_set_drvdata(dsi, ctx); + + dsi->lanes = 4; + dsi->format = MIPI_DSI_FMT_RGB888; + dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | + MIPI_DSI_MODE_VIDEO_HSE | + MIPI_DSI_CLOCK_NON_CONTINUOUS; + + drm_panel_init(&ctx->panel, dev, &hx83112a_panel_funcs, + DRM_MODE_CONNECTOR_DSI); + ctx->panel.prepare_prev_first = true; + + ret = drm_panel_of_backlight(&ctx->panel); + if (ret) + return dev_err_probe(dev, ret, "Failed to get backlight\n"); + + drm_panel_add(&ctx->panel); + + ret = mipi_dsi_attach(dsi); + if (ret < 0) { + dev_err_probe(dev, ret, "Failed to attach to DSI host\n"); + drm_panel_remove(&ctx->panel); + return ret; + } + + return 0; +} + +static void hx83112a_remove(struct mipi_dsi_device *dsi) +{ + struct hx83112a_panel *ctx = mipi_dsi_get_drvdata(dsi); + int ret; + + ret = mipi_dsi_detach(dsi); + if (ret < 0) + dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret); + + drm_panel_remove(&ctx->panel); +} + +static const struct of_device_id hx83112a_of_match[] = { + { .compatible = "djn,9a-3r063-1102b" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, hx83112a_of_match); + +static struct mipi_dsi_driver hx83112a_driver = { + .probe = hx83112a_probe, + .remove = hx83112a_remove, + .driver = { + .name = "panel-himax-hx83112a", + .of_match_table = hx83112a_of_match, + }, +}; +module_mipi_dsi_driver(hx83112a_driver); + +MODULE_DESCRIPTION("DRM driver for hx83112a-equipped DSI panels"); +MODULE_LICENSE("GPL"); From patchwork Fri Feb 16 10:10:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 202061 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp413198dyb; Fri, 16 Feb 2024 02:12:20 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWf6gJMi4C7xGARDh0DSTSCC3EHO/lFNkcnXLp3EWobHmgtQ0xcl1yu3CQRGLkSkFjGrHS+O+xracaIk2ePd1va33p8ew== X-Google-Smtp-Source: AGHT+IFJhTpYZqQ3aJoBIGgXhFx+4tT6RzDcdWZ5mhWOGb7xJ/lOG4lgcs0+OpGyHN6KfzEPwlMR X-Received: by 2002:a1f:49c4:0:b0:4c0:7753:231 with SMTP id w187-20020a1f49c4000000b004c077530231mr4299484vka.13.1708078340006; Fri, 16 Feb 2024 02:12:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708078339; cv=pass; d=google.com; s=arc-20160816; b=tMEeX+qq9QoVjaxzeS3I09OGX7903wQaIUrDGPY89aEsniZAsWaKjqiwe7cshO8/d7 FeCr8QZ9aGTC9SV64RzMpHWpnH/zGj07J2Diyiwj7FnNAMjuaSEsJaXs9EreDyEK6CgS PXhbMZVzIk2YmAqMdYFwV6nLlFf+cKbKryvmi//y2GUdPdjKAw+1FBkJpgJUxSJR4x5Q FXxiyy5J2f+X4ME0+lCDe9KZW/Nj/U9Zkh0uND8eywSUG+5GTxsVzDN7mxupOixx0PTO RE3VDp3Yj3GrUWd4wKh/lmYhUVub4drCYHqF3OXOMvFi9LfAm/BwIVD9znfnH9THdvDS ew/g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=revdL7g1oAcERXcWT0jDr3geYXgL8Ugw/vEWapN0s+4=; fh=8suvPfFH/2VAXF04xZjt7DtozxbVgS0xbj4RnvKB8Uw=; b=ahjJPnRzhmedR+1LGBLz2jeocLQWD57Rre2oH6LAGi727HoNusLSNmZhLSjXH8Y8zY GgCQ2xLW/Ex/kVxh+pVMQuLC1INzBPRwKHja7FPCTpz/XRYQBg8T04zsaSi/q+ZTwq/A 5b6caLjJulIQ1jooXPEVklDzXPrrbirNj7AUWneIX8V0tEcntmqXNVLCugM1C0XQ77Hz YDczErgfiVMhPvvD1BEp1W60Z0HPFsxbxbbTmcxNifROMmCk0Dz1jdvWCf9fe4DNBYmF BYBAA8p906JA4LBOpwTsCEFGESH7NwVAuQcA76kypnqi8l7HyHnK0uKwvKD7FGRWg2Sd gBZg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=gbiXuLJc; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68422-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68422-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id a13-20020a0562140c2d00b0068cc3aa706fsi3652591qvd.298.2024.02.16.02.12.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:12:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-68422-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=gbiXuLJc; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68422-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68422-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id C62091C223F1 for ; Fri, 16 Feb 2024 10:12:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 14FFD20B10; Fri, 16 Feb 2024 10:11:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="gbiXuLJc" Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59DFA1CD36 for ; Fri, 16 Feb 2024 10:10:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078258; cv=none; b=ADjz3zkY+1+ac3feLl+WxfttG9s2WvLc/xlqmhj6EkHGZo/xVinkIvqSSNCBnb42G8ZdKMMNczP/6rWlaLYcBRmO4ayIbkc+k3OD1pe3MO+gR7rsH6CnRum3LZBqIyXElylvY3FL0gXQgxoCtX/3k2G+gO2isU83GC3Dfkvwd1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078258; c=relaxed/simple; bh=xpMb11dxg64nZ8TeWmw4wTspdBi2WW1ycVxNAeNDxxA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ngvKfPNkdTNeqQpYwXIwa/qtz0krlbxBz0DqxKkb7tuSToiNsTgnvQXWFAf5iHF8Xc/LcoINPlEIAIYZuIC2BrR30H2iCPvbFCWlKaCPTZFqSQYNP58lxOgjs3JZyXRpfsg9OS6rk+ZYA2fqBHYYm2rAGjMnBDs/FxvCX9p9JJE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=gbiXuLJc; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-56394d0ee54so681735a12.3 for ; Fri, 16 Feb 2024 02:10:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1708078254; x=1708683054; 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=revdL7g1oAcERXcWT0jDr3geYXgL8Ugw/vEWapN0s+4=; b=gbiXuLJc3zpa100ANalakbCCHNufMPUpc6u668nXSfDTS9opCW24GtWw3DnhjW6/r2 L9v2ue3nDChaQxrKKCtJxWNqZwLIKyFKjlved4YYPEdaaBrRnEtM5yAnCE9v720S96/p 7z8kZx9iyxHp1/YBsEJfW4yoAkOUL7uDTi2ml4g3cBrLxE0lnvpOQp8NCRl0X/L/Pqgd bNUJJfuNuEMa4Wpd8SKKgCAGN20uHD+p2hOj5cmoxKunby1vYpxB5/SKHSmNsh0ClMWy yLFf+I6eLxqgIT4/l5ka5kk8AnWdKcvLUpllNwtX7wOoRV4pgs/AdVeVeEuewOTy5IUo d6tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708078254; x=1708683054; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=revdL7g1oAcERXcWT0jDr3geYXgL8Ugw/vEWapN0s+4=; b=lR8Gwtp3HrD+2F/8VYnupTZ7zod+CppLtpoNQyaDsvNCqjz5JWJ2kwxSf0Gpk2HU6i C2YUeqvt4P3/wflWH+pxLRLY4ZADZx7XiU2gptSMv14yTRUDsTvbwC6zGlX24umBlX81 hTCob/OAOwzSI8bKUACr9dWzzlxTMXKNMwegnQ/MyA+SM4TI6ufYDZZJzue78kAFnjEj jM4msGOWLicRYWhMmQStOssP7URUs5T4eDHH3WybE/oz04cB4i+Id/q1KsrAc17FyH4M e0qRYgOX0Dn7jGUCsPYIevVSS5I5Ht9VJBDWhIKWY0BFX6AoacHbjtKUt5NQCjoDlCCX o0jQ== X-Forwarded-Encrypted: i=1; AJvYcCWPm7FjbTFICex9OFaossr3nvOR4eDMmX7nDKbMwtBUT3Qkm7fPHkDeznEz/Mi586ZiV6tFynEuxTdnApPhRfT33gDvdAQGPRKKu35f X-Gm-Message-State: AOJu0Yw0cUjdsF+Awl3TL84H0NA3bfNo509r3nHquKIFA97yXHSrzQMr lJcUUgKjXo67nvn7T3hTx62uWuf/WKGaeeqO8yLpnRFM5TdJA2Pb00uhxGlPa7A= X-Received: by 2002:a17:906:719b:b0:a3d:a773:b9be with SMTP id h27-20020a170906719b00b00a3da773b9bemr2526010ejk.76.1708078254638; Fri, 16 Feb 2024 02:10:54 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id s18-20020a170906169200b00a3d1897ab68sm1398019ejd.113.2024.02.16.02.10.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:10:53 -0800 (PST) From: Luca Weiss Date: Fri, 16 Feb 2024 11:10:50 +0100 Subject: [PATCH v3 3/4] arm64: dts: qcom: sm6350: Remove "disabled" state of GMU Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240216-fp4-panel-v3-3-a556e4b79640@fairphone.com> References: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> In-Reply-To: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Andy Gross Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Luca Weiss X-Mailer: b4 0.12.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791049953435736292 X-GMAIL-MSGID: 1791049953435736292 The GMU won't probe without GPU being enabled, so we can remove the disabled status so we don't have to explicitly enable the GMU in all the devices that enable GPU. Reviewed-by: Konrad Dybcio Signed-off-by: Luca Weiss --- arch/arm64/boot/dts/qcom/sm6350.dtsi | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts/qcom/sm6350.dtsi index 43cffe8e1247..5a05f14669be 100644 --- a/arch/arm64/boot/dts/qcom/sm6350.dtsi +++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi @@ -1439,8 +1439,6 @@ gmu: gmu@3d6a000 { operating-points-v2 = <&gmu_opp_table>; - status = "disabled"; - gmu_opp_table: opp-table { compatible = "operating-points-v2"; From patchwork Fri Feb 16 10:10:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Weiss X-Patchwork-Id: 202063 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:c619:b0:108:e6aa:91d0 with SMTP id hn25csp413305dyb; Fri, 16 Feb 2024 02:12:35 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWKWKM2sR3PBJ8Ili+DrzYufWnGNS8MhIY9OT5Ev/d4RPM5XL4zU0TDDcIzeXDvpT6l/7CJaAXw5Y0KnlARwUTBlkTdpA== X-Google-Smtp-Source: AGHT+IHKJu1VFjETQIfSY6n1ywo+x93eAMOG6csecmUjghVb5ARg//ZYNHRTgesX701yOTkOcsCt X-Received: by 2002:aa7:d68c:0:b0:563:ff56:ba75 with SMTP id d12-20020aa7d68c000000b00563ff56ba75mr470898edr.30.1708078355651; Fri, 16 Feb 2024 02:12:35 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708078355; cv=pass; d=google.com; s=arc-20160816; b=Totc2GPnFrDsno51mcjZZTQ11GZdnFMvbLFSMgbRCrVmq2zMqZWtNs+YkGbLpGA1tC BsUuB7tr2LqH5LOgE1dzIdhZLj5Yw7fy+QM4Tni3KPjFIkKs1Dmx6o/Oz7+7/LsrAPQX DCEJXLt5sZ2+rcCFjxE63SF25bFUxMnijwKiQniF9NsaH0QD80UhYEdIlurAIPx/HlB4 /Ex+Sgjq8071FSwaE8B8zGMiRikZw1vymek33kXGJiRaxExnOOh6HvaF3qqDbqJpnsDT iz54W+vIIhIM7vY5ecgUU45dOYCv07qDpdsuce6fQBmH34AJ4f2Smfh+6IQlEQlIJq1b 3dcQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=AmseNUB8XmILHTMGFvZmTPWMBMRG2oDjG5cDxIINlKQ=; fh=GrGquG1egu1wohY8kZ5qfEwBONRf9unnSvHHeR1Osbo=; b=mcXLrDzRzsUyehsZ3aZspNQdPxneamCxWhkrZ6RnAQpGCfF5dqROasDlOVRaHQTx93 k9MzpycRlfdGOlRj2Su+xeOZADr0uz8oMfZ3SJVNPY2sVR2TETdsh5YTjBqKq+Av5OBQ g9ELl6wlJS+Q+Fm5yI0lOFA0neolR5jHMKz7/JCEuHWBMwon2eGKoByVi45HlweiN5GW WGoaPAOsnD+63cYnhrIyswySCnRq4/8KC3Nab16eDaoigpXJrrsMO5D4Pp0MTn7Bq9P5 jZgY7Buo69H9AIXGeMMyTrgo5UHVzkJbTgPt7EPoYJwTSZGL2UnCDEeC/FouRnYDonDY DJaQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=1hBmwRTP; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68423-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68423-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id d20-20020a05640208d400b00564030f5301si125941edz.375.2024.02.16.02.12.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:12:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-68423-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@fairphone.com header.s=fair header.b=1hBmwRTP; arc=pass (i=1 spf=pass spfdomain=fairphone.com dkim=pass dkdomain=fairphone.com dmarc=pass fromdomain=fairphone.com); spf=pass (google.com: domain of linux-kernel+bounces-68423-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-68423-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fairphone.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 6E7951F22040 for ; Fri, 16 Feb 2024 10:12:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4C67720DD3; Fri, 16 Feb 2024 10:11:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="1hBmwRTP" Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A4091CF94 for ; Fri, 16 Feb 2024 10:10:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078259; cv=none; b=XFyAYqQUHkEfOf7ZO2Yo9nAGo20uzzbaTpE/66sBV69maii99itSJ/o7jHyp4eiPWDoO4gefjeFpg3Fwu6LoxExkXsLm6YBE8kcTCTm+N9JrazU3usT8AiEw2z6SZ24trqIr3ZC+MpQwTYID80IZeKTcKbZyZW5URi6LBr2U/PM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708078259; c=relaxed/simple; bh=4Du11M3VzUfqimWgLoJBAywNDaWIGTyQLxBL2NShpoY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RQV3198wX4ZsIO7sA40F5HjdIF0ET7a6e5ZdT4bEuAc/TLKDyXEBIJQwIKhZwI0A3qnfk5vS6o0oK/WZSCwRyhsuMrH4zt4uO5LwQHGERi3T3ZqxhBSBehEdY8iiBVL9wzXvwl/3Gmj+0hv6FM0CsRBHuTYwMLzwp0WkSajwhAE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=1hBmwRTP; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-a30f7c9574eso245374966b.0 for ; Fri, 16 Feb 2024 02:10:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1708078256; x=1708683056; 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=AmseNUB8XmILHTMGFvZmTPWMBMRG2oDjG5cDxIINlKQ=; b=1hBmwRTPxKDwlQdzpcNmd2xv4t7A6XCkx2uRGL4Db/3l4GA/nJhpvCilxWuMB0a5Dy LWaWrUngGtm3vjILB4B5TUPs9jOucnVm1nNmMKGr5/Kx5qVrVaDqwRoML6Nm+d1tDAdk lRwXtpa8wikntFu4yq5W+5TOYtGgeYUd5mJParJr83vU8jxW/muqHnwc9xFdMRn3cdfN o4RbTTH6Ay0pnnXHfA1kZee4tZe0tpXHi0OKj2ds6+ZvfpQN/xxJSgw0K2jthZwbgxnX KcNQqk6UvZngVIa30so3ew/RDZWMfV3a7Onl+JMdo6E+0cP6xXeivgAHJElsFpl/yY3e l8SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708078256; x=1708683056; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AmseNUB8XmILHTMGFvZmTPWMBMRG2oDjG5cDxIINlKQ=; b=tq1APHy6vhcY/u3Ruj30pVRWNMDqPFVoSwHivNPONoIQY1YVDO/uNa6FcYke85+koJ sWodQM+QseOJvF8znJg5/CKH9j8Xdsb4DehZIcj649wVcvvtc2//OM6S6PaqK/Q9Tvun 0nWRY0tRF/x6v1Tia9KA64GJL+zYhjkANe2m9Yn8utS7FHngF7SWus93kogBhgF/OrDY Vpf9hoJngZEzCletmlQO2g8GGnxf5ApoUHBE3rceV23zXoZj5pGm3svE5TbRrobNZCcm MtRage3p5y8Ets536MsEqGR28PtitkD8wdhya/xGlfRi7DkIzZcnhUnyexYncWDuPXfH e0Jg== X-Forwarded-Encrypted: i=1; AJvYcCXFwj2vb5WlVL8aXXkynQnbcCt4PBKusmPcWAgKAgfcKEKe0VVVMW34GagiKpeeVrwpg9OIzc6kMm7y5RLzsp3RprSueFZlY897wO/k X-Gm-Message-State: AOJu0Yx9xar6CnghV1P85Nus4iodUdeXIFnypCCLNuTnLVlEGYUwkSl8 KXkLowLOntIIhwTaCBA0lhu3qA4f8vFHP/c1jrQhDg+PG23jkfATLrvEuygm6Z0= X-Received: by 2002:a17:906:6bcc:b0:a3d:f81a:d50b with SMTP id t12-20020a1709066bcc00b00a3df81ad50bmr112120ejs.70.1708078255900; Fri, 16 Feb 2024 02:10:55 -0800 (PST) Received: from otso.luca.vpn.lucaweiss.eu (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id s18-20020a170906169200b00a3d1897ab68sm1398019ejd.113.2024.02.16.02.10.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Feb 2024 02:10:55 -0800 (PST) From: Luca Weiss Date: Fri, 16 Feb 2024 11:10:51 +0100 Subject: [PATCH v3 4/4] arm64: dts: qcom: sm7225-fairphone-fp4: Enable display and GPU Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20240216-fp4-panel-v3-4-a556e4b79640@fairphone.com> References: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> In-Reply-To: <20240216-fp4-panel-v3-0-a556e4b79640@fairphone.com> To: Neil Armstrong , Jessica Zhang , Sam Ravnborg , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Andy Gross Cc: ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Luca Weiss X-Mailer: b4 0.12.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791049970077247284 X-GMAIL-MSGID: 1791049970077247284 Add the description for the display panel found on this phone. Unfortunately the LCDB module on PM6150L isn't yet supported upstream so we need to use a dummy regulator-fixed in the meantime. And with this done we can also enable the GPU and set the zap shader firmware path. Reviewed-by: Konrad Dybcio Signed-off-by: Luca Weiss --- arch/arm64/boot/dts/qcom/sm6350.dtsi | 2 +- arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 53 +++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts/qcom/sm6350.dtsi index 5a05f14669be..c8099b10ddc4 100644 --- a/arch/arm64/boot/dts/qcom/sm6350.dtsi +++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi @@ -1328,7 +1328,7 @@ gpu: gpu@3d00000 { status = "disabled"; - zap-shader { + gpu_zap_shader: zap-shader { memory-region = <&pil_gpu_mem>; }; diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts index ade619805519..4e61da8078d1 100644 --- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts @@ -68,6 +68,14 @@ key-volume-up { }; }; + /* Dummy regulator until PM6150L has LCDB VSP/VSN support */ + lcdb_dummy: regulator-lcdb-dummy { + compatible = "regulator-fixed"; + regulator-name = "lcdb_dummy"; + regulator-min-microvolt = <5500000>; + regulator-max-microvolt = <5500000>; + }; + reserved-memory { /* * The rmtfs memory region in downstream is 'dynamically allocated' @@ -373,6 +381,14 @@ &gpi_dma1 { status = "okay"; }; +&gpu { + status = "okay"; +}; + +&gpu_zap_shader { + firmware-name = "qcom/sm7225/fairphone4/a615_zap.mbn"; +}; + &i2c0 { clock-frequency = <400000>; status = "okay"; @@ -404,6 +420,43 @@ &ipa { status = "okay"; }; +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l22a>; + status = "okay"; + + panel@0 { + compatible = "djn,9a-3r063-1102b"; + reg = <0>; + + backlight = <&pm6150l_wled>; + reset-gpios = <&pm6150l_gpios 9 GPIO_ACTIVE_LOW>; + + vdd1-supply = <&vreg_l1e>; + vsn-supply = <&lcdb_dummy>; + vsp-supply = <&lcdb_dummy>; + + port { + panel_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + data-lanes = <0 1 2 3>; + remote-endpoint = <&panel_in>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l18a>; + status = "okay"; +}; + &mpss { firmware-name = "qcom/sm7225/fairphone4/modem.mdt"; status = "okay";