Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2830669ybl; Sun, 8 Dec 2019 01:41:01 -0800 (PST) X-Google-Smtp-Source: APXvYqy8WD1TsNicuB88LkbKVTlIG2wB1P94mK9HBNzPEh6e11hW677A4j0qLhQIOE9WMIvUeJ8e X-Received: by 2002:aca:cdd5:: with SMTP id d204mr19983233oig.134.1575798061545; Sun, 08 Dec 2019 01:41:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575798061; cv=none; d=google.com; s=arc-20160816; b=q3XK+zqDkVnjKf/PJwSlWf6b/ym3/FlvW+8AByu1uJ5WKXUGHyP9DUE2iOlz1y6Yro a0WzuxkockxOc+AbuWEpyOGz58XTy/CNETTGZJKtW3OVyczd826ID3/r92XDvQMY/EKc eEzgQ+JH7F48I9Fbp3euOnt6BmGw+z09ySuSFIYdv3VbVhMIASO0HBzuqX4jCk+CcNci cQjQ9W1jazt0IiCaVJOb7OdVul1sfYaHaiaZTQ67noodsUXf29zEzujCCuzB2O6bTpPj jENEe63vr4DriPqJfj+PjlsY+zN0gQhnaiQjULHlTXPOfeTf7VeeMDCSBxJwQOkQBiwc B68A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=agJ5bKErnq7m3DOR2HyeAyADySVI+tRJZf/xh9dThO8=; b=DzFoJqrBYMqAi5nmQDNcIEvW2OXLl6LsImIFKvlyh93YwpAnZqepVZwvUvmxohV7HX d7cruxwfi6KVObgWQJ/oIebTQoD460zQziRk3UCKi5RobaaRgRqMzadTjMxxGmLjtMmZ IGghMmmA3FXtb7jL1qpzQ3wR8f6lj0Y+oHi27YwLNR1Gj8w7t+ycTiJjk5qeYapkSKMU fFrR1OtSblRT50zI0qd55h2eP17Kqrv+e//aPSyQSwAFiUdkMvpMSTGOdFNWylvWCFra nubo1Us/mF3uB5u7sCRyQg236veVcuHOo+HQTbzObeH8VEpfmNmQskmXmDnjc04xy2ON UH8w== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v92si4391596otb.140.2019.12.08.01.40.47; Sun, 08 Dec 2019 01:41:01 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726387AbfLHJjy (ORCPT + 99 others); Sun, 8 Dec 2019 04:39:54 -0500 Received: from asavdk3.altibox.net ([109.247.116.14]:41484 "EHLO asavdk3.altibox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725832AbfLHJjx (ORCPT ); Sun, 8 Dec 2019 04:39:53 -0500 Received: from ravnborg.org (unknown [158.248.194.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by asavdk3.altibox.net (Postfix) with ESMTPS id 932DF20026; Sun, 8 Dec 2019 10:39:49 +0100 (CET) Date: Sun, 8 Dec 2019 10:39:48 +0100 From: Sam Ravnborg To: Rob Clark Cc: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, aarch64-laptops@lists.linaro.org, Rob Clark , Mark Rutland , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Jeffrey Hugo , open list , Rob Herring , Bjorn Andersson , Vasily Khoruzhick , David Airlie , Thierry Reding , Laurent Pinchart Subject: Re: [PATCH 1/4] dt-bindings: display: panel: document panel-id Message-ID: <20191208093948.GB21141@ravnborg.org> References: <20191207203553.286017-1-robdclark@gmail.com> <20191207203553.286017-2-robdclark@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191207203553.286017-2-robdclark@gmail.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CMAE-Score: 0 X-CMAE-Analysis: v=2.3 cv=eMA9ckh1 c=1 sm=1 tr=0 a=UWs3HLbX/2nnQ3s7vZ42gw==:117 a=UWs3HLbX/2nnQ3s7vZ42gw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=7gkXJVJtAAAA:8 a=cm27Pg_UAAAA:8 a=e5mUnYsNAAAA:8 a=ILDvgjsUearIMHsXgicA:9 a=CjuIK1q_8ugA:10 a=E9Po1WZjFZOl8hwRPBS3:22 a=xmb-EsYY8bH0VWELuYED:22 a=Vxmtnl_E_bksehYqCbjh:22 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Rob. The panel-id can be used to help in several usecase. With a few nits pointed out below fixed: Reviewed-by: Sam Ravnborg Sam On Sat, Dec 07, 2019 at 12:35:50PM -0800, Rob Clark wrote: > From: Rob Clark > > For devices that have one of several possible panels installed, the > panel-id property gives firmware a generic way to locate and enable the > panel node corresponding to the installed panel. Example of how to use > this property: > > ivo_panel { > compatible = "ivo,m133nwf4-r0"; > panel-id = <0xc5>; > status = "disabled"; > > ports { > port { > ivo_panel_in_edp: endpoint { > remote-endpoint = <&sn65dsi86_out_ivo>; > }; > }; > }; > }; > > boe_panel { > compatible = "boe,nv133fhm-n61"; > panel-id = <0xc4>; > status = "disabled"; > > ports { > port { > boe_panel_in_edp: endpoint { > remote-endpoint = <&sn65dsi86_out_boe>; > }; > }; > }; > }; > > sn65dsi86: bridge@2c { > compatible = "ti,sn65dsi86"; > > ports { > #address-cells = <1>; > #size-cells = <0>; > > port@0 { > reg = <0>; > sn65dsi86_in_a: endpoint { > remote-endpoint = <&dsi0_out>; > }; > }; > > port@1 { > reg = <1>; > > sn65dsi86_out_boe: endpoint@c4 { > remote-endpoint = <&boe_panel_in_edp>; > }; > > sn65dsi86_out_ivo: endpoint@c5 { > remote-endpoint = <&ivo_panel_in_edp>; > }; > }; > }; > }; > > Signed-off-by: Rob Clark > --- > .../bindings/display/panel/panel-common.yaml | 26 +++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.yaml b/Documentation/devicetree/bindings/display/panel/panel-common.yaml > index ef8d8cdfcede..6113319b91dd 100644 > --- a/Documentation/devicetree/bindings/display/panel/panel-common.yaml > +++ b/Documentation/devicetree/bindings/display/panel/panel-common.yaml > @@ -75,6 +75,32 @@ properties: > in the device graph bindings defined in > Documentation/devicetree/bindings/graph.txt. > > + panel-id: > + description: > + To support the case where one of several different panels can be installed > + on a device, the panel-id property can be used by the firmware to identify > + which panel should have it's status changed to "ok". This property is not Use "okay" as this is waht is specified in the CT files. > + used by the HLOS itself. Spell out HLOS - it is not obvious for all what it is. > + > + For a device with multiple potential panels, a node for each potential > + should be defined with status = "disabled", and an appropriate panel-id "potential panel should" > + property. The video data producer should be setup with endpoints going to > + each possible panel. The firmware will find the dt node with a panel-id > + matching the actual panel installed, and change it's status to "ok". > + > + The exact method the firmware uses to determine the panel-id of the installed > + panel is outside the scope of this binding, but a few examples are > + > + 1) u-boot module reading a value from a u-boot env var > + 2) EFI driver module reading a value from an EFI variable > + 3) device specific firmware reading some device specific GPIOs or > + e-fuse > + > + The panel-id values are an opaque integer. They can be sparse. The only > + important thing is that each possible panel in the system has a unique > + panel-id, and that the values configured in the device's DTB match the > + values that the firmware is looking for. > + > ddc-i2c-bus: > $ref: /schemas/types.yaml#/definitions/phandle > description: > -- > 2.23.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel