Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp619107ybl; Fri, 13 Dec 2019 01:50:09 -0800 (PST) X-Google-Smtp-Source: APXvYqxP0QG9LnRW13e9gnqfLPPRxAV39/XmEdPnTqQ+9Pt+ZD/dkNz71lDbUCqkjPp1AOCyaiX7 X-Received: by 2002:a9d:1e88:: with SMTP id n8mr14172838otn.369.1576230609598; Fri, 13 Dec 2019 01:50:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576230609; cv=none; d=google.com; s=arc-20160816; b=cTrXq5OkwLTJ60poz/qXT3sN3DnQMOu6Sy1xLryNd93OY8+g1bOEDGRsu+gcLKJ/Pr eJhVO9aiKD4mt0XSsykq6zBqNLmPFr80vI10CJJDaMorcxR4UQyG7tXt4DT3eGOj+FPD 4tF4X1Vr9PKqbZCjj45Qrc/anUjmBIR9ce1ZgLsRizBFG4uvtsg0yXJcqpA0UnQbYDwL EU1sHs2FvgrrklBkjb6quUyxd4eTnTBq8IBbh92Jy+MqWxFj1KuUwiDc49nTejqYBhoQ brLP+C5X0hSbd0WcFpETmimOvxndVn2FZlVlVfy3waGzWAqXby2qTcXKUToT/LpCSIFx bqXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-signature; bh=3c/pNZbfVguiAfAJyfOP8e8RotXtqEiIuR+b/5Y50jQ=; b=xc4ZuFyr3NpdQwuM8WZlVdJImGt8VG/zFtJwaunwSRNALZYLxcZ36dr3maw/I7hE1M JdyI74hfmtMGGOtBXYAg7e2XxKVHJeLnzX78P68gLY5Amx9rWU/G9xWYQy/h27AyONgj i5tpszIwH5s9Uf9JnGTbpo1/zMwiVb7YAFe1KbGHqAL1E47ItK/GCvkB0GDW7YCKfAds 6m7l+qTS4i/rMeDggYS6MumirygxMbYN79KvBCCejAWP3LKwQt/acIlwhdH3Gbr7snft 33rOUH3iO781T12NPAmHo1qaUZgU931Hmd4vxUylee7jxfBX0wopW7QxW7rC5ck/aCdX SAEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm1 header.b=WvoaLe+M; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=nid8Tlyd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i125si5022755oih.178.2019.12.13.01.49.58; Fri, 13 Dec 2019 01:50:09 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm1 header.b=WvoaLe+M; dkim=pass header.i=@messagingengine.com header.s=fm1 header.b=nid8Tlyd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726680AbfLMJsR (ORCPT + 99 others); Fri, 13 Dec 2019 04:48:17 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:51435 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725793AbfLMJsQ (ORCPT ); Fri, 13 Dec 2019 04:48:16 -0500 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id CAF9B22624; Fri, 13 Dec 2019 04:48:14 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 13 Dec 2019 04:48:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm1; bh=3c/pNZbfVguiAfAJyfOP8e8RotX tqEiIuR+b/5Y50jQ=; b=WvoaLe+Mxsd7nenltVRefeH2nKbXSpJF7pVIo8WP4Dl 2XBNlSB27AD290e0C/roc/lAOh89szpIYP48cYtmYq3Cpav5erWoWfgwIeXbIxzy M7hRlkg5Q8iMlFkuYnLGgD1jV/lbwD2rFJaeXtVAHjRheJLKHlgkf3I6b1CdSIcr 3yEbdzwgtiaV5CVi2qfVyIjMF5dj0qt26so115fkyjmRghAS51E3W3PtB4DcAVFs OW0vmt6wjxgcAuCrEMsQxfjjW9KKqxH4jir9HjRi60G9a41qpTbrce9p4faWuG5p aouballAlMI0pMcQv6dTjdB/g7mn90FbS5btAHbh9+Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=3c/pNZ bfVguiAfAJyfOP8e8RotXtqEiIuR+b/5Y50jQ=; b=nid8TlyddIjZ8NewJc1KLl 2crc+qEgO9RODbWnWNIzYKspb4XfnC7I/wWqJHYuWveNJMv9jPFIXU+sg0rmre27 KYMZh5DIbihPek2E+dyMKVMfo5Bk24ahZowmS0zaqYyjXA+Q2BPI0au5DLW8OD8w CVEI0AQgqzmoLh5ms4wpFKdoRQlF2tbi7BY7hkeecDZM+iALfQCha3D9reYJBAmt NpHhuFRs8xus2dF1Dyet4W1UePggd1qMOkxEn/ytrEDTklu47TqpEAmsmm/V3UBx pT0MyzmfRhU1lTZ17zkKhLEW3NdzSgxwCivxU9595U/Phlk6cssskCpwBwi8Oa8w == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudelledgtdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeforgigihhm vgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecukfhppeeltd drkeelrdeikedrjeeinecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggv rhhnohdrthgvtghhnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from localhost (lfbn-tou-1-1502-76.w90-89.abo.wanadoo.fr [90.89.68.76]) by mail.messagingengine.com (Postfix) with ESMTPA id A5C4D80060; Fri, 13 Dec 2019 04:48:13 -0500 (EST) Date: Fri, 13 Dec 2019 10:48:11 +0100 From: Maxime Ripard To: Kevin Tang Cc: airlied@linux.ie, daniel@ffwll.ch, orsonzhai@gmail.com, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhang.lyra@gmail.com, baolin.wang@linaro.org Subject: Re: [PATCH RFC 7/8] dt-bindings: display: add Unisoc's generic mipi panel bindings Message-ID: <20191213094811.4jl5d6jssuml5jov@gilmour.lan> References: <1575966995-13757-1-git-send-email-kevin3.tang@gmail.com> <1575966995-13757-8-git-send-email-kevin3.tang@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fmaocqylhz7nomfh" Content-Disposition: inline In-Reply-To: <1575966995-13757-8-git-send-email-kevin3.tang@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --fmaocqylhz7nomfh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Dec 10, 2019 at 04:36:34PM +0800, Kevin Tang wrote: > From: Kevin Tang > > Adds generic MIPI panel support for Unisoc's display subsystem. > > Cc: Orson Zhai > Cc: Baolin Wang > Cc: Chunyan Zhang > Signed-off-by: Kevin Tang > --- > .../devicetree/bindings/display/sprd/panel.txt | 110 +++++++++++++++++++++ > 1 file changed, 110 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/sprd/panel.txt > > diff --git a/Documentation/devicetree/bindings/display/sprd/panel.txt b/Documentation/devicetree/bindings/display/sprd/panel.txt > new file mode 100644 > index 0000000..a4017af > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/sprd/panel.txt > @@ -0,0 +1,110 @@ > +Unisoc Generic MIPI Panel > +================================================================ > + > +Required properties: > + - compatible: must be "sprd,generic-mipi-panel" > + - reg: panel ID > + - #address-cells, #size-cells: should be set respectively to <1> and <0> > + - port: video port for DPI input > + - sprd,dsi-work-mode: the following dsi mode can be select: > + 0: cmd mode, > + 1: video burst mode, > + 2: video non-burst mode with sync pulse, > + 3: video non-burst mode with sync event > + - sprd,dsi-lane-number: number of dsi lanes to use, default is 4 > + - sprd,dsi-color-format: data format for video stream transmission, currently > + supports "rgb888", "rgb666", "rgb666_packed", "rgb565" and "dsc", defaults rgb888 > + - sprd,phy-bit-clock: the transmission rate of the clock lane for High-Speed, > + the unit is Kbps, and the default value is 500Mbps > + - sprd,phy-escape-clock: the transmission rate of the clock lane for Low-Power, > + the unit is Kbps, and the default value is 20Mbps > + > + > +Optional properties: > + - width-mm: see [2] for details > + - height-mm: see [2] for details > + - sprd,esd-check-enable: esd check function enable switch > + - sprd,esd-check-mode: esd detection method, default is register > + 0: register, > + 1: TE signal > + - sprd,esd-check-period: esd detection cycle, unit ms, default 1000ms > + - sprd,esd-check-register: if register detection is used, this attribute must be configured > + - sprd,esd-check-value: if register detection is used, this attribute must be configured > + - sprd,reset-on-sequence: timing of the reset pin when the lcd power on > + <1 5>, <0 5> means first keep high for 5ms, then keep low for 5ms > + - sprd,reset-on-sequence: timing of the reset pin when the lcd power off > + - sprd,use-dcs-write: bool attribute, indicating whether to use the dcs to send inital & sleep cmds, > + default use generic > + - sprd,initial-command: lcd initialization command set > + - sprd,sleep-in-command: lcd suspend command set > + - sprd,sleep-out-command: lcd resume command set > + - display-timings: see [1] for details I can't say for sure since I'm not the panel maintainer, but I'm not sure it's something that we want. Panels are much more complicated than that, and DT is usually to store data, not code (unlike the initial-command property you have). The best way to support this would be to use the panel infrastructure. > + > + [1] Documentation/devicetree/bindings/display/panel/display-timing.txt > + [2] Documentation/devicetree/bindings/display/panel/panel-common.yaml > + > +Example > +------- > + > +Panel specific DT entry: > + > + &dsi { > + panel { > + compatible = "sprd,generic-mipi-panel"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0>; > + > + port { > + reg = <1>; > + panel_in: endpoint { > + remote-endpoint = <&dphy_out>; > + }; > + }; > + }; > + }; > + > + / { lcds { > + lcd_mipi_hd: lcd_mipi_hd { > + sprd,dsi-work-mode = <1>; > + sprd,dsi-lane-number = <4>; > + sprd,dsi-color-format = "rgb888"; > + sprd,phy-bit-clock = <1100000>; > + sprd,phy-escape-clock = <20000>; > + width-mm = <68>; > + height-mm = <121>; > + sprd,esd-check-enable = <0>; > + sprd,esd-check-mode = <0>; > + sprd,esd-check-period = <1000>; > + sprd,esd-check-register = <0x0A>; > + sprd,esd-check-value = <0x9C>; > + sprd,reset-on-sequence = <1 5>, <0 5>, <1 20>; > + sprd,reset-off-sequence = <0 5>; > + sprd,use-dcs-write; > + sprd,initial-command = [ > + 39 00 00 02 b0 00 > + 39 00 00 04 B3 31 00 06 > + ]; > + sprd,sleep-in-command = [ > + 13 0A 00 01 28 > + 13 78 00 01 10 > + ]; > + sprd,sleep-out-command = [ > + 13 78 00 01 11 > + 13 32 00 01 29 > + ]; > + display-timings { > + timing0 { > + clock-frequency = <64000000>; > + hactive = <720>; > + vactive = <1280>; > + hback-porch = <31>; > + hfront-porch = <31>; > + vback-porch = <32>; > + vfront-porch = <16>; > + hsync-len = <20>; > + vsync-len = <2>; > + }; > + }; > + }; This example doesn't match the binding described above? Thanks! Maxime --fmaocqylhz7nomfh Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXfNeWwAKCRDj7w1vZxhR xWhwAP98RU5C1Ov0gl/GgHDppoKt7VwSReifpN40/viytahdHwD/fGbWpG3U6F11 MeS6D92+LmJWx4TslLGBmRSI8BPqVwA= =HpWR -----END PGP SIGNATURE----- --fmaocqylhz7nomfh--