Message ID | 20230330101752.429804-2-francesco@dolcini.it |
---|---|
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 b10csp1020879vqo; Thu, 30 Mar 2023 03:24:00 -0700 (PDT) X-Google-Smtp-Source: AKy350Yykk2PEnZBSxNBxk0gdS4cfcRiI5pbDrecSu5K1xAErH8PZrBt1KyK67vO9opdNLGlGa9Q X-Received: by 2002:a17:90b:4a45:b0:23b:d506:226e with SMTP id lb5-20020a17090b4a4500b0023bd506226emr25620649pjb.42.1680171840658; Thu, 30 Mar 2023 03:24:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680171840; cv=none; d=google.com; s=arc-20160816; b=GhPK0wZdkT73x/jH6MbbDN28jr02zz3lmjv5KpwLQwD+q5gzh79nFTo19Xx6hKuuXR DmZv3z3bgose08fCKcO5CAjA3Kl4tmbSicoWmd/4yRMm6cp5iJ1ILA8hd75t3UHgsF5l xKgSLRcT0QByYRjQ/NJrVSo3p55LicimndGHkFDTTWzFTOJ7kjD5o6gMEoEwc/UowL2a 2m0E0yH+KBZnra0N/PJ7jFl91ofJeW+PgZAlVcqGVkcJrjlgWjeasWtqHQJrzZb4KjDW aberoMviB9iaS3SIqCRXaBnfWskYWsV9VuBKyEYX/9iDiFwP4srwCqSDxdF041Nb1QU9 odkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=lC7kBmIjfRg+wDkeLTWjEE7vc4LUwf+2RgyszxZlGw8=; b=ABxZlUtJG7frXnBIVZIP/RUYnW2rQ/3F9PL/atXhF2jq2cHlUE8tzfK28h34zn0+W5 gX76ybKZRJixdQ3KtufW/fURP7aNhL3Z4qnCve63Zp3PaDIiUvdtRM0d7Cerbsbh+jbB 6SUWqUEBY5QxJowxh0VhP+I84Y01e9TC11Vyx4Dfuzx1q5287yqMME1WPfnYArRVyOPW QrtYkMr9iihZHfjM4GVvDAZAprVEfqRjmEBs5ANU+6uUrgrvyhUMas56Awh5m0JLnjTM N1fWI1Aqlo3chVdtQka6bMdinTpn2zEcniPySEtQqKTtF1wfWZ41wQyUBZY4y6N/VNcE ky9A== 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 me1-20020a17090b17c100b0023cfa808ac7si3957400pjb.85.2023.03.30.03.23.46; Thu, 30 Mar 2023 03:24:00 -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 S231262AbjC3KSL (ORCPT <rfc822;rua109.linux@gmail.com> + 99 others); Thu, 30 Mar 2023 06:18:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34942 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230285AbjC3KSH (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Thu, 30 Mar 2023 06:18:07 -0400 Received: from mail11.truemail.it (mail11.truemail.it [217.194.8.81]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C4107689; Thu, 30 Mar 2023 03:18:04 -0700 (PDT) Received: from francesco-nb.pivistrello.it (93-49-2-63.ip317.fastwebnet.it [93.49.2.63]) by mail11.truemail.it (Postfix) with ESMTPA id 7E28A20B49; Thu, 30 Mar 2023 12:18:02 +0200 (CEST) From: Francesco Dolcini <francesco@dolcini.it> To: Andrzej Hajda <andrzej.hajda@intel.com>, Neil Armstrong <neil.armstrong@linaro.org>, Robert Foss <rfoss@kernel.org>, Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@gmail.com>, dri-devel@lists.freedesktop.org, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Marek Vasut <marex@denx.de>, devicetree@vger.kernel.org Cc: Francesco Dolcini <francesco.dolcini@toradex.com>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, linux-kernel@vger.kernel.org Subject: [PATCH v1 1/2] dt-bindings: display: bridge: sn65dsi83: Add DSI video mode Date: Thu, 30 Mar 2023 12:17:51 +0200 Message-Id: <20230330101752.429804-2-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230330101752.429804-1-francesco@dolcini.it> References: <20230330101752.429804-1-francesco@dolcini.it> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.0 required=5.0 tests=SPF_HELO_PASS,SPF_PASS autolearn=unavailable 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?1761787868183045466?= X-GMAIL-MSGID: =?utf-8?q?1761787868183045466?= |
Series |
drm/bridge: ti-sn65dsi83: Add DSI video mode configuration
|
|
Commit Message
Francesco Dolcini
March 30, 2023, 10:17 a.m. UTC
From: Francesco Dolcini <francesco.dolcini@toradex.com> SN65DSI8[34] device supports burst video mode and non-burst video mode with sync events or with sync pulses packet transmission as described in the DSI specification. Add property to select the expected mode, this allows for example to select a mode that is compatible with the DSI host interface. Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> --- .../devicetree/bindings/display/bridge/ti,sn65dsi83.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)
Comments
On Thu, Mar 30, 2023 at 3:48 PM Francesco Dolcini <francesco@dolcini.it> wrote: > > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > SN65DSI8[34] device supports burst video mode and non-burst video mode > with sync events or with sync pulses packet transmission as described in > the DSI specification. > > Add property to select the expected mode, this allows for example to > select a mode that is compatible with the DSI host interface. > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> > --- > .../devicetree/bindings/display/bridge/ti,sn65dsi83.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > index 48a97bb3e2e0..ebee16726b02 100644 > --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > @@ -35,6 +35,14 @@ properties: > vcc-supply: > description: A 1.8V power supply (see regulator/regulator.yaml). > > + dsi-video-mode: > + description: | > + 0 - burst-mode > + 1 - non-burst with sync event > + 2 - non-burst with sync pulse > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2] I'm thinking this can go to dsi common code since the video modes are common across all controllers and make the core initialize the default and update if any sink devices are willing to change the modes. Sound like a big move but worth useful. Thanks, Jagan.
On Thu, Mar 30, 2023 at 07:56:26PM +0530, Jagan Teki wrote: > On Thu, Mar 30, 2023 at 3:48 PM Francesco Dolcini <francesco@dolcini.it> wrote: > > > > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > > > SN65DSI8[34] device supports burst video mode and non-burst video mode > > with sync events or with sync pulses packet transmission as described in > > the DSI specification. > > > > Add property to select the expected mode, this allows for example to > > select a mode that is compatible with the DSI host interface. > > > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> > > --- > > .../devicetree/bindings/display/bridge/ti,sn65dsi83.yaml | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > index 48a97bb3e2e0..ebee16726b02 100644 > > --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > @@ -35,6 +35,14 @@ properties: > > vcc-supply: > > description: A 1.8V power supply (see regulator/regulator.yaml). > > > > + dsi-video-mode: > > + description: | > > + 0 - burst-mode > > + 1 - non-burst with sync event > > + 2 - non-burst with sync pulse > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + enum: [0, 1, 2] > > I'm thinking this can go to dsi common code since the video modes are > common across all controllers and make the core initialize the default > and update if any sink devices are willing to change the modes. Sound > like a big move but worth useful. Not sure I understood where do you want to move this. In any case this is something about the display side of the DSI video connection, with the bridge as a special case, not about the controller. To my understanding the controller is supposed to support all the modes. Francesco
On Thu, Mar 30, 2023 at 8:32 PM Francesco Dolcini <francesco@dolcini.it> wrote: > > On Thu, Mar 30, 2023 at 07:56:26PM +0530, Jagan Teki wrote: > > On Thu, Mar 30, 2023 at 3:48 PM Francesco Dolcini <francesco@dolcini.it> wrote: > > > > > > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > > > > > SN65DSI8[34] device supports burst video mode and non-burst video mode > > > with sync events or with sync pulses packet transmission as described in > > > the DSI specification. > > > > > > Add property to select the expected mode, this allows for example to > > > select a mode that is compatible with the DSI host interface. > > > > > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> > > > --- > > > .../devicetree/bindings/display/bridge/ti,sn65dsi83.yaml | 8 ++++++++ > > > 1 file changed, 8 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > > index 48a97bb3e2e0..ebee16726b02 100644 > > > --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > > +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml > > > @@ -35,6 +35,14 @@ properties: > > > vcc-supply: > > > description: A 1.8V power supply (see regulator/regulator.yaml). > > > > > > + dsi-video-mode: > > > + description: | > > > + 0 - burst-mode > > > + 1 - non-burst with sync event > > > + 2 - non-burst with sync pulse > > > + $ref: /schemas/types.yaml#/definitions/uint32 > > > + enum: [0, 1, 2] > > > > I'm thinking this can go to dsi common code since the video modes are > > common across all controllers and make the core initialize the default > > and update if any sink devices are willing to change the modes. Sound > > like a big move but worth useful. > > Not sure I understood where do you want to move this. Yes, it can be new may be Documentation/devicetree/bindings/display/dsi-device.yaml > > In any case this is something about the display side of the DSI video > connection, with the bridge as a special case, not about the controller. > To my understanding the controller is supposed to support all the modes. Yes, that is what I'm saying. DSI sink will send this mode via mode_flags and the controller act accordingly. The point here is these modes are generic across all DSI sink devices so having common bindings can make it easy for all devices to use. As I said it can be new, but worth trying - anyway let's see how others are commenting on this. Thanks, Jagan.
On Thu, Mar 30, 2023 at 12:17:51PM +0200, Francesco Dolcini wrote: > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > SN65DSI8[34] device supports burst video mode and non-burst video mode > with sync events or with sync pulses packet transmission as described in > the DSI specification. > > Add property to select the expected mode, this allows for example to > select a mode that is compatible with the DSI host interface. Why does this need to be in DT? The source and sink drivers should know what their capabilities are and pick the best common one. Rob
On Mon, Apr 03, 2023 at 04:06:22PM -0500, Rob Herring wrote: > On Thu, Mar 30, 2023 at 12:17:51PM +0200, Francesco Dolcini wrote: > > From: Francesco Dolcini <francesco.dolcini@toradex.com> > > > > SN65DSI8[34] device supports burst video mode and non-burst video mode > > with sync events or with sync pulses packet transmission as described in > > the DSI specification. > > > > Add property to select the expected mode, this allows for example to > > select a mode that is compatible with the DSI host interface. > > Why does this need to be in DT? > The source and sink drivers should know what their capabilities are > and pick the best common one. Is there a best mode? Isn't this a decision how do we want the 2 peers to communicate? For the MIPI-DSI Linux/DRM experts: am I missing something? Is there another way to have a DSI video sink to ask for a specific mode? (I copied this from an existing DSI panel binding). Francesco
On 4/3/23 23:15, Francesco Dolcini wrote: > On Mon, Apr 03, 2023 at 04:06:22PM -0500, Rob Herring wrote: >> On Thu, Mar 30, 2023 at 12:17:51PM +0200, Francesco Dolcini wrote: >>> From: Francesco Dolcini <francesco.dolcini@toradex.com> >>> >>> SN65DSI8[34] device supports burst video mode and non-burst video mode >>> with sync events or with sync pulses packet transmission as described in >>> the DSI specification. >>> >>> Add property to select the expected mode, this allows for example to >>> select a mode that is compatible with the DSI host interface. >> >> Why does this need to be in DT? > >> The source and sink drivers should know what their capabilities are >> and pick the best common one. > > Is there a best mode? I think yes: Burst (is better than) Sync Events (is better than) Sync Pulses Burst is most energy efficient, Sync-Pulses is the simplest and least energy efficient and with most constraints. > Isn't this a decision how do we want the 2 peers > to communicate? I don't think so, I believe the Host and nearest bridge should be able to negotiate their capabilities (mode, link rate, etc.) within the DRM subsystem. > For the MIPI-DSI Linux/DRM experts: am I missing something? Is there > another way to have a DSI video sink to ask for a specific mode? I'm afraid this is not implemented yet, so ... plumbing needed. [...]
diff --git a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml index 48a97bb3e2e0..ebee16726b02 100644 --- a/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml +++ b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi83.yaml @@ -35,6 +35,14 @@ properties: vcc-supply: description: A 1.8V power supply (see regulator/regulator.yaml). + dsi-video-mode: + description: | + 0 - burst-mode + 1 - non-burst with sync event + 2 - non-burst with sync pulse + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1, 2] + ports: $ref: /schemas/graph.yaml#/properties/ports