Message ID | 20240212131323.2162161-9-panikiel@google.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp2424159dyd; Mon, 12 Feb 2024 05:24:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFj2DJQWSAtrb6/nWLvGV3Ocb6UVWe8aVM6ywiATtlzG4urtz3VrG84xelOj9GKS+XauJeq X-Received: by 2002:a17:90a:17c5:b0:296:a767:f6d2 with SMTP id q63-20020a17090a17c500b00296a767f6d2mr4353501pja.38.1707744299321; Mon, 12 Feb 2024 05:24:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707744299; cv=pass; d=google.com; s=arc-20160816; b=siYY5nHNrZj6fsW4oVzMM7gXrHsSebOP+UjBCImoQoTvUr1GmUR8oPCPNSjTUDdPi/ +osXeieVycC+y60SHgQx3ewoQf0cbo7r4NV+l+pxzcAgrTN8MrTeog26bf751Z4ye4hh ophj1HlcDPkVvkZEuipteKvp4BZYMdKK9cwuzfbt7xiEwmK3Dt0+9W93WB7+Y4kXgv9H jeMGXgtCphJ1iSZkGSqva7ffenSX4qRBz+wpa49Hy5iYbGplau1Ldm+rLmUBSgx1yq6a AwuSZ7dxxBKfXXdhwoNs2Wjg1GuCFtpdcuhT9iImcCj9mKR/6KQAGVh6LxVF7LFhWJOa ARXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :in-reply-to:date:dkim-signature; bh=weAbudB3k3wPqp+4oDt/WoN+euSYJ/f5cRIeaqwfqjk=; fh=b3O5OcrtdBSbdgIpcCAePWtnFEiRpZ6y+A/KvIsHRbA=; b=Ufk9zEZigfE6ai7M1QQrpYF98Qpw2uGf48Jd6DQFiIrdsfUSonQFHJKmN5SfkrAhRS TT54R57ZYTNS9raHfksFbQyPRumIruWgch0bZwOV2/AOzwjGE/BSKitDQ18OErYTR9PE NK1nyisyiZuEJ9uFjd0rcnhYjTDCcH/P6Ab3HPOxZpy4w+nGRhESqWL8I8FGo8Ot9gTy 8OOi6hoXQYQYZYy/IxFHradCwnhgOxM0YIz6E84wi6VhjHwP1/IZxv5X++41F9pchWVZ SuSYzNy5dFElySqK6WWGVpYpkvX3H739B28/WLzpSGTnI0tS9d4IiGUPmqjzyajL7omW GJQA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=vrROLVyI; arc=pass (i=1 spf=pass spfdomain=flex--panikiel.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com X-Forwarded-Encrypted: i=2; AJvYcCU5h7mzlFyZllBQ5PC5MZJxEdTXM4Gpti8O8sRy34NdhV1rE+Nyiv8tpKYIhe6cre0JntiCIrV0FZjnAm2eaZ0vEn3Ppw== Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id qe15-20020a17090b4f8f00b00296167b289asi281087pjb.135.2024.02.12.05.24.59 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Feb 2024 05:24:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=vrROLVyI; arc=pass (i=1 spf=pass spfdomain=flex--panikiel.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-61647-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1766E28AF91 for <ouuuleilei@gmail.com>; Mon, 12 Feb 2024 13:24:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C22B24EB22; Mon, 12 Feb 2024 13:14:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="vrROLVyI" Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08E313B787 for <linux-kernel@vger.kernel.org>; Mon, 12 Feb 2024 13:14:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707743678; cv=none; b=nIu/AWskZKsH71RpeZEkyCJWntnaiK6jeNk8GIUPmIYFnIiPTxpz95C6oCOo/3RdxUrxWrU6d8Q+mVx8XAW9Adcwl2Q1dNhru8WRINuv9A9txqQ6Ybh61KUYVvIFGQyyXuF9AD0oamR4Hpzw3PvXmD3PlJEq21gbKL6x5kmGdrA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707743678; c=relaxed/simple; bh=IrOdF2IkBl2jU+cs6JkBmakSjiXX4Bcd9lmtDOI7FSE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=jZyJv8tHnf7akCkDsIdDPKSMmbDMd6wZ2RGQ//60rXR7jmKvrGO3k9EY0RJ112SiLsnVz1iZA7bWC3PWkpEZiUA8hwdTjIXrVcq6erFtJv3S8Cdl+Nkofa3nRWiU9RemXnDZ1ermmBBai3iYsQ00prgPcF7Tvi0LXA8SdrNdxPA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--panikiel.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=vrROLVyI; arc=none smtp.client-ip=209.85.221.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--panikiel.bounces.google.com Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-33b6e444c76so1038828f8f.3 for <linux-kernel@vger.kernel.org>; Mon, 12 Feb 2024 05:14:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1707743675; x=1708348475; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=weAbudB3k3wPqp+4oDt/WoN+euSYJ/f5cRIeaqwfqjk=; b=vrROLVyIUc69oKVb/Bvw5eOwovBUGYXKKzKUT/25HPfN0B6IteVu+BQ++koOzHbXfx TBwJpYFJrqeWTuTNQy+rcgBRzxYPBt/klLvADjNcRcVN8rB0vU543aYI//jr2K3D3W1Q 8GKCpCVJkDpwVaWjFFX019frbnJZbX3VhSCg8SIjBvR9EU74Hsy1svR7MZn20paPnaby SkUR+tDYJswUdeMQyIW/YkXd+V20xCCpNy5Ciq02xKEa6GwSJQgOjr2POGVrr+EpBZyU +9eVm1+6fl75VqgMYTJ3Q00YRjE6qeCZxLqT941GAYEvyyfXRzZeO8SbuCskZLpXZvMp ESnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707743675; x=1708348475; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=weAbudB3k3wPqp+4oDt/WoN+euSYJ/f5cRIeaqwfqjk=; b=NwWIRbP6WkGPY0R4PDYh0cufWqpEWPwkH74b43U+14BK2reDzyXroLke9ulmI9sUw5 uKU+RYjr7nstomjgH0HlTpaGclvL04+2MoMmDySDkOFHcjnO4+hJBWKbrtk6QIMt8aZM UluHqM7Zdsqk/3GrzQKj8n+E0O93Ne8X6b9J9Mk7UP0may2xyiVnHunkl8rdi1fLCxCO 1VcfQtgsg/YXCLOIJNbP7blqHQEGxXxbIxgsfby9UAZVLweTL4ylyDvKJmLaBHHxtwPs DK///GmIyTSpgXiVu2DhKywpBE2UEgzFa1/P4Ftv8ExV9xan46BCpPY2Dl64ly3vgh91 gERQ== X-Gm-Message-State: AOJu0YzNOlCUdHY5gqhvO5t1mWfiZbBacLxB89xdVHEfOcNFS4+Zkp+5 E3DLs9OZ9zxVIJHx4jN7EZXclA6DoGwka7oF3Gwc+UnHxiCG8K1JhJhIrTzczVpECDmXaaQ0Tcu vysfQeD/nRQ== X-Received: from szatan.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:2d83]) (user=panikiel job=sendgmr) by 2002:a05:6000:a16:b0:33b:6489:a97d with SMTP id co22-20020a0560000a1600b0033b6489a97dmr13629wrb.14.1707743675651; Mon, 12 Feb 2024 05:14:35 -0800 (PST) Date: Mon, 12 Feb 2024 13:13:22 +0000 In-Reply-To: <20240212131323.2162161-1-panikiel@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> Mime-Version: 1.0 References: <20240212131323.2162161-1-panikiel@google.com> X-Mailer: git-send-email 2.43.0.687.g38aa6559b0-goog Message-ID: <20240212131323.2162161-9-panikiel@google.com> Subject: [PATCH 8/9] media: dt-bindings: Add Intel Displayport RX IP From: " =?utf-8?q?Pawe=C5=82_Anikiel?= " <panikiel@google.com> To: airlied@gmail.com, akpm@linux-foundation.org, conor+dt@kernel.org, daniel@ffwll.ch, dinguyen@kernel.org, hverkuil-cisco@xs4all.nl, krzysztof.kozlowski+dt@linaro.org, maarten.lankhorst@linux.intel.com, mchehab@kernel.org, mripard@kernel.org, robh+dt@kernel.org, tzimmermann@suse.de Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, chromeos-krk-upstreaming@google.com, ribalda@chromium.org, " =?utf-8?q?Pawe?= =?utf-8?q?=C5=82_Anikiel?= " <panikiel@google.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790699686529933317 X-GMAIL-MSGID: 1790699686529933317 |
Series |
Add Chameleon v3 video support
|
|
Commit Message
Paweł Anikiel
Feb. 12, 2024, 1:13 p.m. UTC
The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP
Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video
capture and Multi-Stream Transport. The user guide can be found here:
https://www.intel.com/programmable/technical-pdfs/683273.pdf
Signed-off-by: Paweł Anikiel <panikiel@google.com>
---
.../devicetree/bindings/media/intel,dprx.yaml | 125 ++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml
Comments
On Mon, 12 Feb 2024 13:13:22 +0000, Paweł Anikiel wrote: > The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP > Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video > capture and Multi-Stream Transport. The user guide can be found here: > > https://www.intel.com/programmable/technical-pdfs/683273.pdf > > Signed-off-by: Paweł Anikiel <panikiel@google.com> > --- > .../devicetree/bindings/media/intel,dprx.yaml | 125 ++++++++++++++++++ > 1 file changed, 125 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/media/intel,dprx.example.dts:28.27-28 syntax error make[2]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/media/intel,dprx.example.dtb] Error 1 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240212131323.2162161-9-panikiel@google.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Mon, Feb 12, 2024 at 3:35 PM Rob Herring <robh@kernel.org> wrote: > > > On Mon, 12 Feb 2024 13:13:22 +0000, Paweł Anikiel wrote: > > The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP > > Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video > > capture and Multi-Stream Transport. The user guide can be found here: > > > > https://www.intel.com/programmable/technical-pdfs/683273.pdf > > > > Signed-off-by: Paweł Anikiel <panikiel@google.com> > > --- > > .../devicetree/bindings/media/intel,dprx.yaml | 125 ++++++++++++++++++ > > 1 file changed, 125 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml > > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > Error: Documentation/devicetree/bindings/media/intel,dprx.example.dts:28.27-28 syntax error > make[2]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/media/intel,dprx.example.dtb] Error 1 > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240212131323.2162161-9-panikiel@google.com > > The base for the series is generally the latest rc1. A different dependency > should be noted in *this* patch. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit after running the above command yourself. Note > that DT_SCHEMA_FILES can be set to your schema file to speed up checking > your schema. However, it must be unset to test all examples with your schema. > As with the previous patch, I was missing a #include in the example. I will include the fix in v2.
Yo, On Mon, Feb 12, 2024 at 01:13:22PM +0000, Paweł Anikiel wrote: > The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP > Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video > capture and Multi-Stream Transport. The user guide can be found here: > > https://www.intel.com/programmable/technical-pdfs/683273.pdf > > Signed-off-by: Paweł Anikiel <panikiel@google.com> > --- > .../devicetree/bindings/media/intel,dprx.yaml | 125 ++++++++++++++++++ > 1 file changed, 125 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml > > diff --git a/Documentation/devicetree/bindings/media/intel,dprx.yaml b/Documentation/devicetree/bindings/media/intel,dprx.yaml > new file mode 100644 > index 000000000000..3ed37e0a4a94 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/intel,dprx.yaml > @@ -0,0 +1,125 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/intel,dprx.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Intel DisplayPort RX IP > + > +maintainers: > + - Paweł Anikiel <panikiel@google.com> > + > +properties: > + compatible: > + const: intel,dprx Please version this compatible, given that is it for an FPGA IP. I could not find an example of another intel IP that had versioning, but there's plenty of xilinx stuff you can get inspiration from. > + reg: > + items: > + - description: core registers > + - description: irq registers > + > + interrupts: > + maxItems: 1 > + > + intel,has-mst: Mostly this looks fine, but this property drew my eye. Firstly, I'd probably call this "intel,multi-stream-support" rather than "intel,has-mst". > + type: boolean > + description: The device supports Multi-Stream Transport Secondly, there are many many configuration parameters for this IP, but you have chosen to document just one. Are all other configuration parameters currently in their default states or ignored by the driver? If not, please at least document all configuration settings that you rely on - for example the max stream count or audio packet encoding. > + > + port: > + $ref: /schemas/graph.yaml#/properties/port > + description: SST main link > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/properties/port > + description: MST virtual channel 0 or SST main link > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: MST virtual channel 1 > + > + port@2: > + $ref: /schemas/graph.yaml#/properties/port > + description: MST virtual channel 2 > + > + port@3: > + $ref: /schemas/graph.yaml#/properties/port > + description: MST virtual channel 3 > + > +required: > + - compatible > + - reg > + - interrupts > + > +allOf: > + - if: > + required: > + - intel,has-mst > + then: > + required: > + - ports > + else: > + required: > + - port > + > +additionalProperties: false > + > +examples: > + - | > + dprx@c0062000 { "dprx" isn't a class of device, please try to use a generic node name here. Thanks, Conor. > + compatible = "intel,dprx"; > + reg = <0xc0062000 0x800>, > + <0xc0060f80 0x10>; > + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; > + intel,has-mst; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dprx_mst_0: endpoint { > + remote-endpoint = <&fb_mst0_0>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + dprx_mst_1: endpoint { > + remote-endpoint = <&fb_mst1_0>; > + }; > + }; > + > + port@2 { > + reg = <2>; > + dprx_mst_2: endpoint { > + remote-endpoint = <&fb_mst2_0>; > + }; > + }; > + > + port@3 { > + reg = <3>; > + dprx_mst_3: endpoint { > + remote-endpoint = <&fb_mst3_0>; > + }; > + }; > + }; > + }; > + > + - | > + dprx@c0064000 { > + compatible = "intel,dprx"; > + reg = <0xc0064000 0x800>, > + <0xc0060fe0 0x10>; > + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; > + > + port { > + dprx_sst_0: endpoint { > + remote-endpoint = <&fb_sst_0>; > + }; > + }; > + }; > -- > 2.43.0.687.g38aa6559b0-goog >
On Thu, Feb 15, 2024 at 6:26 PM Conor Dooley <conor@kernel.org> wrote: > > Yo, > > On Mon, Feb 12, 2024 at 01:13:22PM +0000, Paweł Anikiel wrote: > > The Intel Displayport RX IP is a part of the DisplayPort Intel FPGA IP > > Core. It implements a DisplayPort 1.4 receiver capable of HBR3 video > > capture and Multi-Stream Transport. The user guide can be found here: > > > > https://www.intel.com/programmable/technical-pdfs/683273.pdf > > > > Signed-off-by: Paweł Anikiel <panikiel@google.com> > > --- > > .../devicetree/bindings/media/intel,dprx.yaml | 125 ++++++++++++++++++ > > 1 file changed, 125 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/media/intel,dprx.yaml > > > > diff --git a/Documentation/devicetree/bindings/media/intel,dprx.yaml b/Documentation/devicetree/bindings/media/intel,dprx.yaml > > new file mode 100644 > > index 000000000000..3ed37e0a4a94 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/media/intel,dprx.yaml > > @@ -0,0 +1,125 @@ > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/media/intel,dprx.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Intel DisplayPort RX IP > > + > > +maintainers: > > + - Paweł Anikiel <panikiel@google.com> > > + > > +properties: > > + compatible: > > + const: intel,dprx > > Please version this compatible, given that is it for an FPGA IP. > I could not find an example of another intel IP that had versioning, but > there's plenty of xilinx stuff you can get inspiration from. The IP has had a few different revisions, so I decided to just use the "IP version" which is 20.0.1 for the version this driver is targeting. > > > + reg: > > + items: > > + - description: core registers > > + - description: irq registers > > + > > + interrupts: > > + maxItems: 1 > > + > > + intel,has-mst: > > Mostly this looks fine, but this property drew my eye. > Firstly, I'd probably call this "intel,multi-stream-support" rather than > "intel,has-mst". Sure, > > > + type: boolean > > + description: The device supports Multi-Stream Transport > > Secondly, there are many many configuration parameters for this IP, > but you have chosen to document just one. > Are all other configuration parameters currently in their default > states or ignored by the driver? If not, please at least document all > configuration settings that you rely on - for example the max stream > count or audio packet encoding. I looked at all the parameters listed in the user guide, and most of them don't affect the driver. I listed the ones which are required, and added support for the remaining ones in v2. > > > + > > + port: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: SST main link > > + > > + ports: > > + $ref: /schemas/graph.yaml#/properties/ports > > + > > + properties: > > + port@0: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: MST virtual channel 0 or SST main link > > + > > + port@1: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: MST virtual channel 1 > > + > > + port@2: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: MST virtual channel 2 > > + > > + port@3: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: MST virtual channel 3 > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + > > +allOf: > > + - if: > > + required: > > + - intel,has-mst > > + then: > > + required: > > + - ports > > + else: > > + required: > > + - port > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + dprx@c0062000 { > > "dprx" isn't a class of device, please try to use a generic node name > here. I couldn't find anything in the DT spec or any other similar examples, so I chose dp-receiver.
diff --git a/Documentation/devicetree/bindings/media/intel,dprx.yaml b/Documentation/devicetree/bindings/media/intel,dprx.yaml new file mode 100644 index 000000000000..3ed37e0a4a94 --- /dev/null +++ b/Documentation/devicetree/bindings/media/intel,dprx.yaml @@ -0,0 +1,125 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/intel,dprx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Intel DisplayPort RX IP + +maintainers: + - Paweł Anikiel <panikiel@google.com> + +properties: + compatible: + const: intel,dprx + + reg: + items: + - description: core registers + - description: irq registers + + interrupts: + maxItems: 1 + + intel,has-mst: + type: boolean + description: The device supports Multi-Stream Transport + + port: + $ref: /schemas/graph.yaml#/properties/port + description: SST main link + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: MST virtual channel 0 or SST main link + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: MST virtual channel 1 + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: MST virtual channel 2 + + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: MST virtual channel 3 + +required: + - compatible + - reg + - interrupts + +allOf: + - if: + required: + - intel,has-mst + then: + required: + - ports + else: + required: + - port + +additionalProperties: false + +examples: + - | + dprx@c0062000 { + compatible = "intel,dprx"; + reg = <0xc0062000 0x800>, + <0xc0060f80 0x10>; + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; + intel,has-mst; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dprx_mst_0: endpoint { + remote-endpoint = <&fb_mst0_0>; + }; + }; + + port@1 { + reg = <1>; + dprx_mst_1: endpoint { + remote-endpoint = <&fb_mst1_0>; + }; + }; + + port@2 { + reg = <2>; + dprx_mst_2: endpoint { + remote-endpoint = <&fb_mst2_0>; + }; + }; + + port@3 { + reg = <3>; + dprx_mst_3: endpoint { + remote-endpoint = <&fb_mst3_0>; + }; + }; + }; + }; + + - | + dprx@c0064000 { + compatible = "intel,dprx"; + reg = <0xc0064000 0x800>, + <0xc0060fe0 0x10>; + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; + + port { + dprx_sst_0: endpoint { + remote-endpoint = <&fb_sst_0>; + }; + }; + };