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: 10575303 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7F3AE1579 for ; Fri, 24 Aug 2018 12:23:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6FD192BC4A for ; Fri, 24 Aug 2018 12:23:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6332E2BC71; Fri, 24 Aug 2018 12:23:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id E92BB2BC4A for ; Fri, 24 Aug 2018 12:23:23 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DE83D6E68E; Fri, 24 Aug 2018 12:23:22 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 284E36E68E for ; Fri, 24 Aug 2018 12:23:21 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id p6-v6so6738408ljc.5 for ; Fri, 24 Aug 2018 05:23:21 -0700 (PDT) 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=rdpSsEQ0gEFrLQ5yetYAW/hpBySkdTadTNEf61x0RtU7jhoMg9iqx/ezDO/A/+/hoa ZgNeYIzbWsXB3W4ks/lRUzEKTM8CTTZUQWsY1JFvSsT1ZwTZkYCkzdXU97zCrDpf8dbQ WZZtriVUGtWKZ1t1jnVGmhQvAOzUYkNnH5WsMFCIINmmrCzVzSnvDonSEq2Q8Fin6GcM 8BVBU6aGWLqarJdpyMV0WGZhXR+2f3wmgtOQSOXpR56RQfA4nhknSSGVZAxxLPcOFqQV 0pEfPyAsWVhycXmJgYcfgLLsPR+yUR/SoR4+UcIj+soKB9A6ijZX+zQKF5luJskNpu6v sp1Q== X-Gm-Message-State: APzg51C9OQjZjQIwdz1ZL1vlvPy8F1PmorecMa3KE4KXBixWZS2pZCxb 1wTnp7qPA3Nhx2ZArAnSK7vi6A== X-Google-Smtp-Source: ANB0VdaxKHW5J0ykQ/7zl/Sfc7B//sXOhJZs86cga/Myi1tRpgAsNeHyw3f9oUcwXounjp8UzbJAUw== 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 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 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lorenzo Pieralisi , Liviu Dudau , dri-devel@lists.freedesktop.org, Ryan Harkin , robh+dt@kernel.org, Sudeep Holla , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 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>; + }; + }; + }; +};