From nobody Sun Feb 8 02:55:50 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 204862153C3; Wed, 26 Feb 2025 11:26:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569190; cv=none; b=HKHBBU0/uKOCpBFrJ3p0U7LwKB/jyFJR/l57msWQIwB5p3lfm+UlnpmVYHgidhldxqzVvHw7Hz/ri6oRJ/xpZ8r8UKHKGzkw9VWl246TV30vWsJ24hwTo4L/0TG+2KUhfyry0kZH0RGp6MBmi0uY4iFIyj141y+FOzmDO+09GUU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569190; c=relaxed/simple; bh=QJf+HQZVegvutXbd299woU0Z2/6qbQLBVtIfCFcaGrQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ChVTgZP5xqUAHYH5Kmc13rF91U+FJun9qOgEvJvWFHl/AYpHecSXs2pCTLTjb5nQdJVnOWKT6INwZ0WG/zEd5SVYH8gTl6Zaw2N7BNTwr6oQUDre3WBjrg2H2ZsObpn9qSWxlt+W/eFi+RVLfjF4krHncIGCg1W4oTQgBiXTjrc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jmiE6386; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jmiE6386" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-22128b7d587so130557165ad.3; Wed, 26 Feb 2025 03:26:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740569188; x=1741173988; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2RTmpIGHngtsSZ/WnYi/gqVccUnJFm776Qa1QJJB2Nw=; b=jmiE63865pLWv0hg6wecJqi+62YJdMRmaoJUHgH48J0igNegqtSHYj232varVyzLWh WXs6/zUoHU28Ng9DEgs1qoC+ThRFEpWXjNWmy0mKRUpcHLqB2CBHimOm5TqZTxGCvNzu AUaQxls2U6yck7nvBMa9SQ2I7JWRy6uZxp+xzrETdekf3/3x+t3vppfVDrEHL8YJXvLb 3PHyXcBiCd3BTIjQ9CoV0oRnYT6zTvz4P0CqVmlDF5IBbK1Y56sBcsko/GSVCeuT9N5V MLPvkH847RJ1BLWJkyZ9LLSypQLmqWLjYvMfIcJ5TaYcX4hQBGl2FICb6GYroK2JQ7eW pY6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740569188; x=1741173988; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2RTmpIGHngtsSZ/WnYi/gqVccUnJFm776Qa1QJJB2Nw=; b=vwvK/T9tzlIJyAMdyRtWNl0jto0l9por0bFBg/+C0EEDptAIkolom9ghH0zpG1ZYwN weIs0SXYRIzMsSWlhra5qX3M3UeeaObvatwkgQXnoGY3zc+3VsaVwW0pMfruLXgkQYlm bzAxhX8rrUqBFtp6kICoHPNJt14QazECtqlz1/OtNVUEEmRwkDHWJd/krKJHYwt3JDP8 gYLKmzIxT5t93FsQMwKzK8AzvaPZbmimcPoKpEoqXrQCk/KjT+UFG77HWiuLDzrIAJYk fKkWduQnpgJaovxFbmXMkkURc3Whv2fuoaT55puaUqIEUgiyF3qhyhJaIEP3S8zhLKjT Xx+A== X-Forwarded-Encrypted: i=1; AJvYcCXs4voaMDvt1++FKSCJ/oJ3wcXk4Hz6ciKFdW4nElsT68bKZOQLjITzf5Cr5Uq1jMAD7V7OYe9L6aEJ@vger.kernel.org X-Gm-Message-State: AOJu0YzTZPFpxrxmrrwpc0PkmKjnt2p3BkcFYShtmnKwN9/GFSmZubCS NCPcTE/AC+6/l2dMYH+q/G9mMb9+/RCSKw6fvTxULy9B6GnjDZh3CF4Z4JuD X-Gm-Gg: ASbGncu75MXNHP/5UrMn+h5dhf/g/iVznPpOTkujF+RX0lYjlpHnfIN10rifR3aWjYZ SyNLh8Wfp9yL0k/hS8EIXLp2n0Dzn7NtJECufek0uIHtjMT9FfekKYhKDwsHwh7yRp3Ohl+qHrb 6JxcZEWqK/uwBXz07ejEG/Pfb1FNv9zFBfmqulGxJ4noBFMgjSR2+Fk+rlJexE+wEz5y9ZpmmlY vFrloFFNzmZlpuDgoO6czQzDs1CcuKTfa8aBB4CuQV+0KYpa5pXdB85FeKkCdtAWIVC7+kp+QhC utx9ijZ9ktn8aAvb1r99ZqARMr7zlreyEUGIhETq0F6UUG+LWT41zlQXoa71eImTQSmVSA== X-Google-Smtp-Source: AGHT+IFdM2uihMFE1scAm5JrACgtnVIbLNjAwJpcqKr3P6lxtJIGZA3FqHOXHR4oGZESQpKSGY0nfw== X-Received: by 2002:a17:902:d4d0:b0:223:3bf6:7e6e with SMTP id d9443c01a7336-2233bf67f9emr6888115ad.9.1740569188348; Wed, 26 Feb 2025 03:26:28 -0800 (PST) Received: from localhost.localdomain (221x255x40x66.ap221.ftth.ucom.ne.jp. [221.255.40.66]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a0009a0sm29800345ad.27.2025.02.26.03.26.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 03:26:27 -0800 (PST) From: Hironori KIKUCHI To: linux-kernel@vger.kernel.org Cc: Hironori KIKUCHI , Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jakub Kicinski , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Subject: [PATCH v2 1/3] dt-bindings: vendor-prefixes: Add hothmi vendor prefix Date: Wed, 26 Feb 2025 20:25:48 +0900 Message-ID: <20250226112552.52494-2-kikuchan98@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250226112552.52494-1-kikuchan98@gmail.com> References: <20250226112552.52494-1-kikuchan98@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add prefix for Hotdisplay Technology Co.Ltd Signed-off-by: Hironori KIKUCHI Acked-by: Rob Herring (Arm) --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Docum= entation/devicetree/bindings/vendor-prefixes.yaml index 5079ca6ce1d..44108bd6ae2 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -650,6 +650,8 @@ patternProperties: description: Shenzhen Hope Microelectronics Co., Ltd. "^hoperun,.*": description: Jiangsu HopeRun Software Co., Ltd. + "^hothmi,.*": + description: Hotdisplay Technology Co.Ltd "^hp,.*": description: Hewlett Packard Inc. "^hpe,.*": --=20 2.48.1 From nobody Sun Feb 8 02:55:50 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 E806B215078; Wed, 26 Feb 2025 11:26:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569197; cv=none; b=E2zjRvF5MSLvb/4y+yhVTPltL+9u/fRKhXD6pnOQIQoOHBJxtcGQ4vcP+nQWE0b6c4hkD8jCaUVn2MVJnAXy/EykaK6pLsKLlP4WDN00yzlUzVMGBgOrUdm/+d65YWMHnYaDKtUTWCCON87/DXtaVbcBhjV3NDMvf+atIj4Id1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569197; c=relaxed/simple; bh=YgogzbJaAVAR64wopTXml48vyTVpFzwbHVK4g6S1fJ0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l3/pKRl9GxFDoWIiwrmQm8lAsx4/i9SlJKrNYe/IcZSb2F35D/6TyAGOvQeKkixFBuBho9yTdF/sZTbZ/tvgwrgldxbGybO8Jr2+W8dX1eHTd40am6LgjLbyjt0ZOf43QVF1c7NEXD+ivUHTO9q2ARt1UgLIf+ulP7o2p5iBIn4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DbRWmMWf; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DbRWmMWf" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2211acda7f6so149521075ad.3; Wed, 26 Feb 2025 03:26:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740569195; x=1741173995; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QJGZpWbDvkxIZVmJShYLY/mP8QNbEoEXn4nR1fnmnoA=; b=DbRWmMWfJviWmVOK+N+Y4VajuJdjajP3uXTQwvv4iU9z6KFW9l+WmFfwIG+9t1xFJN s2rHGuNosDiDG8zzO91W/pdsCYP8BmqErIpdgiH8ZiQgklFAg1IdFsiG7Ywk5GkS/WHK sQ2dlhDhg5IVDRJ9r1rOpmpi+U61XOuQF6PZZpOafKGHQXGQrJUNoDFquOMlNQ54uHV9 8o+3uXdDr9bNGTb9hemCKoLqiL3z54RtTk41KpSgcu77ImMXSjG9ahNNoXYFP3sXApXn cX2xUv7KUdfKinfck/Dp5qeL1OnjkMDrMT2oh/8r2lXU7O+2Fx9wLQYNBzFD3xKQZEVd bn3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740569195; x=1741173995; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QJGZpWbDvkxIZVmJShYLY/mP8QNbEoEXn4nR1fnmnoA=; b=gp3dY9huB8sas2OQpWDpOQNaFCtH0LNo6gXV2+Dpa5sxizCxuuoNom+X1A1qXJeUNU xJVQRALOS9Bybb1nEcAounFrHXuT4pZb8Ujq1/ELc+O7PTFlZ0YqJSaUyJj33RUpURoe 7PSi6UUjtcZuXHZ8k90RKNW/bvMTyKAJFRsxvbBkteVfTduqLdyvkOOt4VHp1/Q4D5hV D0KDipD3upZGKIzlVGEXa7emp5seMUhwTiWnWxGDc3OIfaYIKRP9CqNZnx7ABykJs7Az GZKl1s0cb3f+XogXxO9wdQS1JYp+yD2S0QdN/z35OW9WRnWyUALzehBaDCgsEvp5qO4U qnjg== X-Forwarded-Encrypted: i=1; AJvYcCUtdOOSpkJW+7iRDIvD0HNfDmhU/uZ/XBQsNgJu/o5t9AeS4kswQz3TbXVeaTIFvgjbcmJJ9JQkhsn2@vger.kernel.org X-Gm-Message-State: AOJu0YyZjz6sK82q4qrB7tndCZi5sJmXkO1DHronCPdbNrKVlVcS969V iqg6W/1wJpFOfCljus+tUP0QnsoUYJSgaf3qBJbWhAUeQ4L8T8qOlUpnUwxb X-Gm-Gg: ASbGncs22awmHBgDxIdT5atbouv+D5fdaOr4WmoYe894TLGlK/0ECJ3l12kx3K5DedV 0UxMmJBH4RSLd9HJoLSw+i1C1Iz96X6sSMUHttbzhzr4vfSulot497+YGMLkYz7jc9pL+BH1TnI JlrOXEdQ7z2p+7aOftav7s47E72sX99gIVHlotWXQeL7U3e1JwjIutSJlAeYNDnuTMFo/8jKwdV ms7O2ZsHGJPWos9Vo0RYvuAhCc+3KGa61+NiuHClBPtD99hnNWXM26kIdG6+Opk/LNI4sNiLKOQ q/MuteFpK/A+xJYGArZV2Y2pKNXFuQljYbjKHw3XS6kvtLZf2ha3jjx1FblLVzUZQUdeWg== X-Google-Smtp-Source: AGHT+IG2gWi0nLGOKpj4dDyZrHjJgRgzITPsE63NdiS1YrFkAk4rdwGkFABUwfTdHYGCtVaBNOKAtw== X-Received: by 2002:a17:902:e887:b0:220:faa2:c917 with SMTP id d9443c01a7336-22320208770mr53896785ad.34.1740569195012; Wed, 26 Feb 2025 03:26:35 -0800 (PST) Received: from localhost.localdomain (221x255x40x66.ap221.ftth.ucom.ne.jp. [221.255.40.66]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a0009a0sm29800345ad.27.2025.02.26.03.26.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 03:26:34 -0800 (PST) From: Hironori KIKUCHI To: linux-kernel@vger.kernel.org Cc: Hironori KIKUCHI , Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jakub Kicinski , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Subject: [PATCH v2 2/3] dt-bindings: display: panel: Add some generic MIPI-DSI/DPI panels Date: Wed, 26 Feb 2025 20:25:49 +0900 Message-ID: <20250226112552.52494-3-kikuchan98@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250226112552.52494-1-kikuchan98@gmail.com> References: <20250226112552.52494-1-kikuchan98@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This is a binding for generic MIPI-DSI/DPI panels that require initialization with a simple command sequence before use. The initialization of the panel requires a firmware binary which can be made with the Panel Firmware Generator[1] on the web. Add 4 new panels, as they are available on the same page[1] as a preset (excluding already included ones). Note that the "xx" in the panel name is taken from a product's name, not a wildcard. [1]: https://kikuchan.github.io/panel-firmware-generator/ Signed-off-by: Hironori KIKUCHI --- .../bindings/display/panel/panel-mipi.yaml | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/panel-m= ipi.yaml diff --git a/Documentation/devicetree/bindings/display/panel/panel-mipi.yam= l b/Documentation/devicetree/bindings/display/panel/panel-mipi.yaml new file mode 100644 index 00000000000..d70cf0063fa --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/panel-mipi.yaml @@ -0,0 +1,121 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/panel-mipi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic MIPI-DSI/DPI Panels Requiring Initialization + +maintainers: + - Hironori KIKUCHI + +description: This is a binding for generic MIPI-DSI/DPI panels that require + initialization with a simple command sequence before use. + +properties: + compatible: + oneOf: + - items: + - enum: + # Unknown 3.35" 720x480 24-bit IPS LCD panel + # used in Anbernic RG 34XX + - anbernic,rg34xx-panel + # Unknown 4.00" 640x480 24-bit IPS LCD panel (YLM-LBV0400001= X-V1) + # used in Anbernic RG40XX series + - anbernic,rg40xx-panel + # Unknown 3.95" 720x720 24-bit IPS LCD panel (YLM-LBN0395004= H-V1) + # used in Anbernic RG CubeXX + - anbernic,rgcubexx-panel + - const: panel-mipi-dpi-spi + - items: + - enum: + # HOTHMI TFT-H028B23VGIST7G40-V1 2.80" 480x640 TFT LCD panel + - hothmi,tft-h028b23vgist7g40-v1 + - const: panel-mipi-dsi + + reg: + description: DSI / SPI channel used by that screen + maxItems: 1 + + power-supply: true + + io-supply: + description: I/O system regulator. + No need to set if this is the same as polwer-supply. + + dc-gpios: + maxItems: 1 + description: Controller data/command selection (D/CX) in 4-line SPI mo= de. + If not set, the controller is in 3-line SPI mode. + Disallowed for DSI. + + port: true + reset-gpios: true + + backlight: true + +required: + - compatible + - reg + +allOf: + - $ref: panel-common.yaml# + - if: + properties: + compatible: + contains: + enum: + - panel-mipi-dpi-spi + then: + # SPI mode + $ref: /schemas/spi/spi-peripheral-props.yaml# + + - if: + properties: + compatible: + contains: + enum: + - panel-mipi-dsi + then: + # DSI mode + properties: + dc-gpios: false + +unevaluatedProperties: false + +examples: + - | + dsi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "hothmi,tft-h028b23vgist7g40-v1", "panel-mipi-d= si"; + reg =3D <0>; + + port { + mipi_in_panel: endpoint { + remote-endpoint =3D <&mipi_out_panel>; + }; + }; + }; + }; + - | + #include + + spi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + compatible =3D "anbernic,rg40xx-panel", "panel-mipi-dpi-spi"; + reg =3D <0>; + + spi-max-frequency =3D <40000000>; + + dc-gpios =3D <&gpio 24 GPIO_ACTIVE_HIGH>; + reset-gpios =3D <&gpio 25 GPIO_ACTIVE_LOW>; + + backlight =3D <&backlight>; + }; + }; --=20 2.48.1 From nobody Sun Feb 8 02:55:50 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 B04F5215190; Wed, 26 Feb 2025 11:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569205; cv=none; b=t02xAUGLVQWChwJe0g3cPlsgADLlacjKI8mN8h9tC6TySxvJSVxtDS5nByLj1E6ppOtLpcw9Zx51iYdwQ5g/2k7KlB/Das3gWB7fp+VdG/YJhw5Y4bOy568Qlw4yCtxqNOIxPN3F6Lw3K38CSpe1Rc4V/kpgcW2Ypk9jorDRdYI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740569205; c=relaxed/simple; bh=Qlt33LYe8EOm2S+/WkWtrKFaaHFJlRnc1i+THTcu99k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gUuR8E4hAPzi04CCZJITPSdJI+w2Es59G+A3khXOKSSriSQvb9cO3MpXmB2kpqzZWBET44K38LL2HKtnLcfZYzpWTiW23DIPdRTy90wI0rLQSK9nwAsSvNiL6TAIQuzI6Q0W8Mj9dU9sFBsAQVxvRjNJcKtvJ3WWTZvBK8NdTf0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=AfWW0nxV; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AfWW0nxV" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-22337bc9ac3so4196215ad.1; Wed, 26 Feb 2025 03:26:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740569202; x=1741174002; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=im7+zQBdIJMDHrDxf6vyfzrIwGaTz096CO/yt3ADDf4=; b=AfWW0nxVgXVI/AdrmGSIQ00Itc/WjLii9MQe0J2naNU+1p2luU6ym/yYkc/XM7kN/O 59g1YyRjL0lnILKQr994iLIOdBn9ray/rYQUODg7J5ptz4sj1ql++l+eBJ2rKFHbwiTq /xO75f/yUEKGouCoXFbwunPDWA9y4v6I0viaXTapAvtqVcS7k8fNXWzX4v8gsipTVqwo hhptDg6B8tzJdXpmQ+pw/icrahjk02qapuTF8Vfv5wB1Go9W7ckEoCsyIGqx5H69G/pS wjKHHFivYsJjdeYcxpogCX0faxHMXdYCYrr4QH6E87yUfKB8xRsfj8meCuEGYukN4jBk rPbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740569202; x=1741174002; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=im7+zQBdIJMDHrDxf6vyfzrIwGaTz096CO/yt3ADDf4=; b=P7Kpirc93OkHbxMA08oudoPQf+dS0sw5aDdVZZNpy5d8uWv+vthlqOcQWTsrNU56JQ Mec39yGmMm2SFm1whJFAYOS7cRZttayl0F0uxizZySOWrY2PInsl762XaFfIGJ52zo0C cArCRFiXsCdPOeCmJirIaNGbHwENxNAAQo5GWZUam3BbJgt96jeaBuuhmFTy5gXVEkQg a1BIpb2yanhGfByqTmH7IYRSlskw80Oj3TEngXxtsg6h9kBTZxRvkAjZAkruRrjslNMq +k0Wg6A3IAJ+8qMvJaWOlR6YbKyRIAwignAEgQ/Gn1IqvI5UZt7UAiLehmbu8Wa5nt1P mosg== X-Forwarded-Encrypted: i=1; AJvYcCVDxuwxPuLJMlisCrhKJxicHIBfYwP0+/RmSAQIYilAZA/oB7wZrEszKR8tdpYutwn0n19qJYB6enFc@vger.kernel.org X-Gm-Message-State: AOJu0Yw4jcg26ZJRVmH9m5GYHuwv64NPZYkcJftFlSF6jJlyrFig1yqj foOMP8pSY0yes3Icu7/au630mXOk/Eet/B5YltraxqQJj6jI4W1g47+oVpS3 X-Gm-Gg: ASbGncvTatOL4x6/zqvRU7fljRECnRbUJaht681lOO0qoqW4M8qGnnmJyVNMUFmNBqA m9hiRwbMMmHUZ+JbyKv9cUYJhZZ9yIdkkoCnaGpyWM2UgmOm1MML5OMDR5jkn9pew5PNhcD6s+E +AMOwaL7blS3Zq8jNNRKlQlPa8ZVbIm9HfncKRRWWyG4LiiGWMxMnxZ8wZLO7u35wo8E1dqCl/Q YifVGnheaomrIZr3NPrnNeZKJBc1vXa7v/pHWZ9wQz4NYYTyxs3Smzwr7BQktwjTPXiq46Dr1ip GuNeFZuZlYMhLG85fsOyMLqLpdTSBD5ZUBdFvZHLkzD+y5/CjnnoIERVIv/QvZK5SPQ6Ag== X-Google-Smtp-Source: AGHT+IEckAZcBsdhNAlfb8Tw/dHQA/L90JUKveSjplrvy1bGKlzGx7JrxRsMVaZKrPXvQzh6srGRgQ== X-Received: by 2002:a17:903:41c2:b0:21f:55e:ed64 with SMTP id d9443c01a7336-221a0ec9b4bmr294719535ad.3.1740569201647; Wed, 26 Feb 2025 03:26:41 -0800 (PST) Received: from localhost.localdomain (221x255x40x66.ap221.ftth.ucom.ne.jp. [221.255.40.66]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2230a0009a0sm29800345ad.27.2025.02.26.03.26.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 03:26:41 -0800 (PST) From: Hironori KIKUCHI To: linux-kernel@vger.kernel.org Cc: Hironori KIKUCHI , Neil Armstrong , Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jakub Kicinski , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Subject: [PATCH v2 3/3] drm: panel: Add a driver for Generic MIPI-DSI/DPI(+SPI) panels Date: Wed, 26 Feb 2025 20:25:50 +0900 Message-ID: <20250226112552.52494-4-kikuchan98@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250226112552.52494-1-kikuchan98@gmail.com> References: <20250226112552.52494-1-kikuchan98@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Although the MIPI specifications define how to communicate with a panel to display an image, some panels still require a panel-specific initialization sequence to be sent. This is a driver for such generic MIPI-DSI/DPI panels that require initialization with a simple command sequence before use. Its fundamental approach is similar to `panel-mipi-dbi` driver, which sends an initialization sequence stored in a firmware file. Moreover, this driver allows display modes, timings, and panel configuration parameters to be stored in the same file. Signed-off-by: Hironori KIKUCHI --- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-mipi.c | 1181 ++++++++++++++++++++++++++++ 3 files changed, 1192 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-mipi.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d7469c565d1..46eea1974a0 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -408,6 +408,16 @@ config DRM_PANEL_MANTIX_MLAF057WE51 has a resolution of 720x1440 pixels, a built in backlight and touch controller. =20 +config DRM_PANEL_MIPI + tristate "Generic MIPI-DSI/DPI(+SPI) panel" + depends on OF + depends on SPI || DRM_MIPI_DSI + select DRM_MIPI_DBI if SPI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for Generic MIPI-DSI / + MIPI-DPI(+SPI) panels. + config DRM_PANEL_NEC_NL8048HL11 tristate "NEC NL8048HL11 RGB panel" depends on GPIOLIB && OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 7dcf72646ca..22276255a7b 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -40,6 +40,7 @@ obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) +=3D panel-lg-lb035q0= 2.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) +=3D panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_LG_SW43408) +=3D panel-lg-sw43408.o obj-$(CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966) +=3D panel-magnachip-d53e6ea= 8966.o +obj-$(CONFIG_DRM_PANEL_MIPI) +=3D panel-mipi.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) +=3D panel-nec-nl8048hl11.o obj-$(CONFIG_DRM_PANEL_NEWVISION_NV3051D) +=3D panel-newvision-nv3051d.o obj-$(CONFIG_DRM_PANEL_NEWVISION_NV3052C) +=3D panel-newvision-nv3052c.o diff --git a/drivers/gpu/drm/panel/panel-mipi.c b/drivers/gpu/drm/panel/pan= el-mipi.c new file mode 100644 index 00000000000..a4da1fd2e1e --- /dev/null +++ b/drivers/gpu/drm/panel/panel-mipi.c @@ -0,0 +1,1181 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Generic MIPI-DSI/DPI(+SPI) Panel Driver + * + * Supported panels: + * - A generic MIPI-DSI panel which implements basic DCS + * - A generic MIPI-DPI panel which implements basic DCS over SPI + * + * Copyright (C) 2025, Hironori KIKUCHI + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include