From patchwork Fri Aug 24 12:23:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 145062 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp1214839ljw; Fri, 24 Aug 2018 05:23:23 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdbgel030SDwTriFZJrWQYI/D4B6+nKWa8etLuZlSUjqWYv+pywqw/UaWtFolnMy4xAlcULw X-Received: by 2002:a63:f1f:: with SMTP id e31-v6mr1547170pgl.320.1535113402889; Fri, 24 Aug 2018 05:23:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535113402; cv=none; d=google.com; s=arc-20160816; b=khBVOCvMDPf2QZeyR2EEWCpyJ6bfqDOS4p5txH9Pekz1edYBrwQ+SLBREKRR1K51Vs fKyMJNoOFP/6jwrSJLQIEOiB267SD5GHJZPnbsgEbI5TzmQlZuCR4MdLc2VBCPGNe4zh 0lKRERJEFHOl9DN5sp5bknoefTxSPFcFuoB5DNDcCo9qqzWkpyxJVobLDBwmieL0zOs6 eQrqaZHFzODVi7SYj83NORnjsslxy96lK+qvdHwtNnrdA0t4OUKFx+LxDnU4V0SiX+Ic 5Qd+obrSrSz9T4U06dXXo/6v4ihPxegAqFSELwCCP7mL1TABtWCcheBaQp5tGrMbMGyB pDzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=gfllPtJ+9tbHzNRINUucaWYDz+UthYqpxfYOXkC0Z8U=; b=z+4cxv1KQOSZRyKoe7TQx0fWATEwJNGDBUvlZcW98OKjqLx7UYKw5iTXbKE0UAeQuH W27TfhXl+iSRTHjPPd5dlHDucwOTw3UZjqJ3SXUof+1zQIjbLGi4IDbPmOA9Q8ZSJK8b KezAjx46nisN3KEes9ULoEJs7xTwxyng2XTdc7DuGj+8FejzQk++EJ+T3o+wZCMVb9e/ uVtU9ZGDHlEnWeJ6Mpe0tJU2hbNGJ8JBzUmF5QO6FTGa/BgKKEycENNWYKOHm65zvEXe MuU8qicS+Gj+xya+c0MkxXsOAWdKzDWKO8pjmXUlSMgUOVCLqVoEq6DJsP4+AHonzGby X3MQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="B/7SEPx5"; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w11-v6si6447566plz.333.2018.08.24.05.23.22; Fri, 24 Aug 2018 05:23:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-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=@linaro.org header.s=google header.b="B/7SEPx5"; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726752AbeHXP5r (ORCPT + 6 others); Fri, 24 Aug 2018 11:57:47 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:43270 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726407AbeHXP5r (ORCPT ); Fri, 24 Aug 2018 11:57:47 -0400 Received: by mail-lj1-f193.google.com with SMTP id m84-v6so6706929lje.10 for ; Fri, 24 Aug 2018 05:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=gfllPtJ+9tbHzNRINUucaWYDz+UthYqpxfYOXkC0Z8U=; b=B/7SEPx5NUm3yvnJQvZLOiVGwIexD8zrUkn2OCzRWJIamOyFCnEVnEbCpEKcJpq2M7 xtab0+axfT9hVxmMLIGhJhF9z3JpR3+7soysV/rR3cGrVBVqhY2VpmRBqF41tVy/NzyE 9/UmC4rUo9pigS2iAqKt51eUKpCSisusqxaCs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=gfllPtJ+9tbHzNRINUucaWYDz+UthYqpxfYOXkC0Z8U=; b=OLqInIkMhXuthgkBbFMFVjGZHeRohWIpIIrLvvoySKVaM51IRuuVks+oiRqHgfQ9OP pTq7JUGtja+L9AFr5tg8VeR848NyOHa2OeCy3DefX8/4t36jxTx1qAEe8lK9U6nxPbsc MxlrKa8Zk7i0X2nX0uhNcxx9agY0HmzEZtsFjjB6viVVGtYPUfrJCKHbG/jdEk8eD+uX AuA+ePYfcJVmQQClVOq1xr1vG0qKJGGvI5Euq/wtQYz6Oi4QRtwyL+gWIYAi+o/WrKYz awIkvXZWrpN3VzjcgFfsSk+3FODtDWd1suh/TPJdpeLfkWp1TowgkFpR5jSqjcdmyZvf Pb2Q== X-Gm-Message-State: APzg51BDrHKll12U+h3QorU46udhkZ4nQAeB9K+hyq8D5mUjPb2bVOhb MY2/MRZXTUA8P35bT10Frag7uZKnnb/H2A== X-Received: by 2002:a2e:4782:: with SMTP id u124-v6mr1320075lja.40.1535113399599; Fri, 24 Aug 2018 05:23:19 -0700 (PDT) Received: from genomnajs.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id v10-v6sm1175464ljg.12.2018.08.24.05.23.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 24 Aug 2018 05:23:18 -0700 (PDT) From: Linus Walleij To: Archit Taneja , Andrzej Hajda , Laurent Pinchart , Liviu Dudau , devicetree@vger.kernel.org Cc: dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Eric Anholt , Sudeep Holla , Lorenzo Pieralisi , robh+dt@kernel.org, Linus Walleij , Liviu Dudau , Ryan Harkin Subject: [PATCH 1/2] drm/bridge: Add virtual display DT bindings Date: Fri, 24 Aug 2018 14:23:08 +0200 Message-Id: <20180824122308.3092-1-linus.walleij@linaro.org> X-Mailer: git-send-email 2.17.1 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This adds bindings for a virtual display to be used with displays inside entirely virtual environments which do not emulate things like monitors but just need timing information to be supplied to its display controller. This is inspired by earlier work by Liviu Dudau. Cc: Liviu Dudau Cc: Ryan Harkin Signed-off-by: Linus Walleij --- .../display/bridge/virtual-display-bridge.txt | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/virtual-display-bridge.txt -- 2.17.1 diff --git a/Documentation/devicetree/bindings/display/bridge/virtual-display-bridge.txt b/Documentation/devicetree/bindings/display/bridge/virtual-display-bridge.txt new file mode 100644 index 000000000000..ea4f5a91ab94 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/virtual-display-bridge.txt @@ -0,0 +1,62 @@ +Virtual Display Bridge + +This represents a display that is contained within an emulated +environment. + +This means that the display engine mainly expects some timing +parameters to be written into it, and after that the emulator will +respond by creating a virtual display with the requested +resolution characteristics. + +As the operating system cannot "detect" such a display, rather the +emulator will respond to what the controller outputs, a +chicken-and-egg problem needs to be solved: the resolution and +timing characteristics need to be defined and set up somewhere. + +The virtual display bridge solves this by defining a bridge with +all timing characteristics encoded into the device tree node. + +Required properies: +- compatible: shall be "virtual-display-bridge" + +Required subnodes: +- display-timings: contains in turn a display timing node + see display-timing.txt +- ports: contains the display ports, see media/video-interfaces.txt + +Example: + +bridge { + compatible = "virtual-display-bridge"; + #address-cells = <1>; + #size-cells = <0>; + + display-timings { + /* Some standard VGA timing */ + timing0 { + clock-frequency = <23750>; + hactive = <640>; + vactive = <480>; + hfront-porch = <48>; + hback-porch = <16>; + hsync-len = <96>; + vfront-porch = <33>; + vback-porch = <9>; + vsync-len = <3>; + vrefresh = <60>; + }; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + display_bridge_in: endpoint { + remote-endpoint = <&foo>; + }; + }; + }; +};