Message ID | 20230523-simplepanel_support_nondefault_datamapping-v2-2-87196f0d0b64@pengutronix.de |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1980443vqo; Tue, 23 May 2023 01:27:32 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6X6bR9S4cUx4pTb+uyxDKrezWx/k40R34QiGWQPjBjxVJH+ckLrJlHInOM6SAvNXwpDUgO X-Received: by 2002:a17:902:ce81:b0:1ac:61ad:d6f2 with SMTP id f1-20020a170902ce8100b001ac61add6f2mr14593516plg.5.1684830451710; Tue, 23 May 2023 01:27:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684830451; cv=none; d=google.com; s=arc-20160816; b=tNDUdGg8upANV0ZRdU2HTfMJa5xNdEBHDKAK018BWRsofuRZzvVcNn+x4qhumt7n4X mGuFE4m8gYyU78JSU5jggkdaAPGZk4ZWHKt+p9ShdAktnsQRHVjUltjEoogtC3xeIgFm 3x1dCveOcFhmx6MlIPX3AE8Kw7EmrI5Q8admNkdbU4MqtWBlFsvQFG7aKelrM3JxtohI 6ONiSQG31+/91PHi2zwefUIC5DIIdTuhba1Y41W2IkIs2OWNfEwnuHNyvLzeHTkY8VBh j6jjz+HCoOYYbs/MBNcFpfSgsSITDDT/cknjkJriKuq+Ypb7xUnVmgFhG05ahPxs28Lg 8I5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=C8uMaiLSrLNtvTQfFwrNyHpjC+SqO7trSGNxwMqSRy4=; b=dH3/cfM+sU1hzDgOwtua7cf3Ka5bXnV4GgAQc8+qKAS7n0eNc1iEQIuXKQ5PQQxiOj cdduEzDHJ3zj6/RlQkg41/y1w23UEc2cH8clZrcA3XJF6U01V/+tC+u91+EmnEYuLsKX PRTqsGXUlRuCkd21+/quuqLHs6wxRX+s9vNxLkD6G/coiusJgPZdyJtF/gnPci/P0Bzq VBgYLnPESctiwGN71r0Hh+6FDCwmRhJwcZ8mYMuIyu2KJoveUmx0njwipO8KiJ6CEPDP JAWLV6qqxrRKQpRVb8LmdQeiaYzakn46CiJTkxpG0LPdKItlCFdTxRy9swBCK/8xVSpQ m3Dw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x24-20020a1709027c1800b001afcff6d22esi678154pll.511.2023.05.23.01.27.19; Tue, 23 May 2023 01:27:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235605AbjEWIXX (ORCPT <rfc822;ahmedalshaiji.dev@gmail.com> + 99 others); Tue, 23 May 2023 04:23:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236181AbjEWIWl (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 23 May 2023 04:22:41 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 910ED199E for <linux-kernel@vger.kernel.org>; Tue, 23 May 2023 01:19:54 -0700 (PDT) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <j.zink@pengutronix.de>) id 1q1NFB-00042m-Vo; Tue, 23 May 2023 10:19:46 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from <j.zink@pengutronix.de>) id 1q1NFA-002CaT-VV; Tue, 23 May 2023 10:19:44 +0200 Received: from localhost ([::1] helo=dude03.red.stw.pengutronix.de) by dude03.red.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from <j.zink@pengutronix.de>) id 1q1NF9-006uEf-PF; Tue, 23 May 2023 10:19:43 +0200 From: Johannes Zink <j.zink@pengutronix.de> Date: Tue, 23 May 2023 10:19:42 +0200 Subject: [PATCH v2 2/3] dt-bindings: display: simple: support non-default data-mapping MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230523-simplepanel_support_nondefault_datamapping-v2-2-87196f0d0b64@pengutronix.de> References: <20230523-simplepanel_support_nondefault_datamapping-v2-0-87196f0d0b64@pengutronix.de> In-Reply-To: <20230523-simplepanel_support_nondefault_datamapping-v2-0-87196f0d0b64@pengutronix.de> To: David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Thierry Reding <thierry.reding@gmail.com>, Neil Armstrong <neil.armstrong@linaro.org>, Sam Ravnborg <sam@ravnborg.org> Cc: kernel test robot <lkp@intel.com>, Dan Carpenter <error27@gmail.com>, patchwork-jzi@pengutronix.de, kernel@pengutronix.de, Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Johannes Zink <j.zink@pengutronix.de> X-Mailer: b4 0.12.2 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: j.zink@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766672775540481027?= X-GMAIL-MSGID: =?utf-8?q?1766672775540481027?= |
Series |
Support non-default LVDS data mapping for simple panel
|
|
Commit Message
Johannes Zink
May 23, 2023, 8:19 a.m. UTC
Some Displays support more than just a single default lvds data mapping,
which can be used to run displays on only 3 LVDS lanes in the jeida-18
data-mapping mode.
Add an optional data-mapping property to allow overriding the default
data mapping. As it does not generally apply to any display and bus: use
it selectively on the innolux,g101ice-l01, which supports changing the
data mapping via a strapping pin.
Signed-off-by: Johannes Zink <j.zink@pengutronix.de>
---
Changes:
v1 -> v2: - worked in Rob's review findings (thanks for reviewing my
work): use extracted common property instead of duplicating
the property
- refined commit message
- add an example dts for automated checking
---
.../bindings/display/panel/panel-simple.yaml | 26 +++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
Comments
On Tue, May 23, 2023 at 10:19:42AM +0200, Johannes Zink wrote: > Some Displays support more than just a single default lvds data mapping, > which can be used to run displays on only 3 LVDS lanes in the jeida-18 > data-mapping mode. > > Add an optional data-mapping property to allow overriding the default > data mapping. As it does not generally apply to any display and bus: use > it selectively on the innolux,g101ice-l01, which supports changing the > data mapping via a strapping pin. > > Signed-off-by: Johannes Zink <j.zink@pengutronix.de> > > --- > > Changes: > > v1 -> v2: - worked in Rob's review findings (thanks for reviewing my > work): use extracted common property instead of duplicating > the property That looks to be true (and Rob's AFK at the moment, hence unable to reply to your ping) so, Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor. > - refined commit message > - add an example dts for automated checking > --- > .../bindings/display/panel/panel-simple.yaml | 26 +++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > index ec50dd268314..698301c8c920 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > @@ -21,9 +21,9 @@ description: | > > allOf: > - $ref: panel-common.yaml# > + - $ref: ../lvds-data-mapping.yaml# > > properties: > - > compatible: > enum: > # compatible must be listed in alphabetical order, ordered by compatible. > @@ -353,6 +353,17 @@ properties: > power-supply: true > no-hpd: true > hpd-gpios: true > + data-mapping: true > + > +if: > + not: > + properties: > + compatible: > + contains: > + const: innolux,g101ice-l01 > +then: > + properties: > + data-mapping: false > > additionalProperties: false > > @@ -372,3 +383,16 @@ examples: > }; > }; > }; > + - | > + panel_lvds: panel-lvds { > + compatible = "innolux,g101ice-l01"; > + power-supply = <&vcc_lcd_reg>; > + > + data-mapping = "jeida-24"; > + > + port { > + panel_in_lvds: endpoint { > + remote-endpoint = <<dc_out_lvds>; > + }; > + }; > + }; > > -- > 2.39.2 >
Hi Johannes, Thank you for the patch. On Tue, May 23, 2023 at 10:19:42AM +0200, Johannes Zink wrote: > Some Displays support more than just a single default lvds data mapping, s/lvds/LVDS/ > which can be used to run displays on only 3 LVDS lanes in the jeida-18 > data-mapping mode. > > Add an optional data-mapping property to allow overriding the default > data mapping. As it does not generally apply to any display and bus: use s/bus:/bus,/ > it selectively on the innolux,g101ice-l01, which supports changing the > data mapping via a strapping pin. > > Signed-off-by: Johannes Zink <j.zink@pengutronix.de> > --- > > Changes: > > v1 -> v2: - worked in Rob's review findings (thanks for reviewing my > work): use extracted common property instead of duplicating > the property > - refined commit message > - add an example dts for automated checking > --- > .../bindings/display/panel/panel-simple.yaml | 26 +++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > index ec50dd268314..698301c8c920 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml > @@ -21,9 +21,9 @@ description: | > > allOf: > - $ref: panel-common.yaml# > + - $ref: ../lvds-data-mapping.yaml# > > properties: > - > compatible: > enum: > # compatible must be listed in alphabetical order, ordered by compatible. > @@ -353,6 +353,17 @@ properties: > power-supply: true > no-hpd: true > hpd-gpios: true > + data-mapping: true As the property is optional, don't you need a default value ? > + > +if: > + not: > + properties: > + compatible: > + contains: > + const: innolux,g101ice-l01 > +then: > + properties: > + data-mapping: false > > additionalProperties: false > > @@ -372,3 +383,16 @@ examples: > }; > }; > }; > + - | > + panel_lvds: panel-lvds { > + compatible = "innolux,g101ice-l01"; > + power-supply = <&vcc_lcd_reg>; > + > + data-mapping = "jeida-24"; > + > + port { > + panel_in_lvds: endpoint { > + remote-endpoint = <<dc_out_lvds>; > + }; > + }; > + }; >
Hi Laurent, thank you for your review. On 6/2/23 17:35, Laurent Pinchart wrote: > Hi Johannes, > > Thank you for the patch. > > On Tue, May 23, 2023 at 10:19:42AM +0200, Johannes Zink wrote: >> Some Displays support more than just a single default lvds data mapping, > > s/lvds/LVDS/ ack, gonna fix in V3 > >> which can be used to run displays on only 3 LVDS lanes in the jeida-18 >> data-mapping mode. >> >> Add an optional data-mapping property to allow overriding the default >> data mapping. As it does not generally apply to any display and bus: use > > s/bus:/bus,/ ack, gonna fix in V3 > >> it selectively on the innolux,g101ice-l01, which supports changing the >> data mapping via a strapping pin. >> >> Signed-off-by: Johannes Zink <j.zink@pengutronix.de> >> --- >> >> Changes: >> >> v1 -> v2: - worked in Rob's review findings (thanks for reviewing my >> work): use extracted common property instead of duplicating >> the property >> - refined commit message >> - add an example dts for automated checking >> --- >> .../bindings/display/panel/panel-simple.yaml | 26 +++++++++++++++++++++- >> 1 file changed, 25 insertions(+), 1 deletion(-) >> >> diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml >> index ec50dd268314..698301c8c920 100644 >> --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml >> +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml >> @@ -21,9 +21,9 @@ description: | >> >> allOf: >> - $ref: panel-common.yaml# >> + - $ref: ../lvds-data-mapping.yaml# >> >> properties: >> - >> compatible: >> enum: >> # compatible must be listed in alphabetical order, ordered by compatible. >> @@ -353,6 +353,17 @@ properties: >> power-supply: true >> no-hpd: true >> hpd-gpios: true >> + data-mapping: true > > As the property is optional, don't you need a default value ? as the simple-bus implicitely assumes default data mappings for LVDS panels, I think this is not necessary. If the property is not used in a DT, the default data mapping is used. Best regards Johannes > >> + >> +if: >> + not: >> + properties: >> + compatible: >> + contains: >> + const: innolux,g101ice-l01 >> +then: >> + properties: >> + data-mapping: false >> >> additionalProperties: false >> >> @@ -372,3 +383,16 @@ examples: >> }; >> }; >> }; >> + - | >> + panel_lvds: panel-lvds { >> + compatible = "innolux,g101ice-l01"; >> + power-supply = <&vcc_lcd_reg>; >> + >> + data-mapping = "jeida-24"; >> + >> + port { >> + panel_in_lvds: endpoint { >> + remote-endpoint = <<dc_out_lvds>; >> + }; >> + }; >> + }; >> >
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index ec50dd268314..698301c8c920 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -21,9 +21,9 @@ description: | allOf: - $ref: panel-common.yaml# + - $ref: ../lvds-data-mapping.yaml# properties: - compatible: enum: # compatible must be listed in alphabetical order, ordered by compatible. @@ -353,6 +353,17 @@ properties: power-supply: true no-hpd: true hpd-gpios: true + data-mapping: true + +if: + not: + properties: + compatible: + contains: + const: innolux,g101ice-l01 +then: + properties: + data-mapping: false additionalProperties: false @@ -372,3 +383,16 @@ examples: }; }; }; + - | + panel_lvds: panel-lvds { + compatible = "innolux,g101ice-l01"; + power-supply = <&vcc_lcd_reg>; + + data-mapping = "jeida-24"; + + port { + panel_in_lvds: endpoint { + remote-endpoint = <<dc_out_lvds>; + }; + }; + };