Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp3913494rdb; Mon, 11 Dec 2023 04:00:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IE2X3B1Td4/pIRb2Ld1WkUBGwFgQYOBsr3DPiY+JazwdkRkuT9ThIcbD0h1/gzy5cjlFpFV X-Received: by 2002:a05:6a20:7486:b0:190:d60b:e27d with SMTP id p6-20020a056a20748600b00190d60be27dmr3189114pzd.90.1702296058158; Mon, 11 Dec 2023 04:00:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702296058; cv=none; d=google.com; s=arc-20160816; b=oPJUZ33cZVml9oD9KSBPZFrJ9+OVSQyg9u/avkB2KVOdkEy5PWujq0j+aHiGYP6aeV ielhlOQivDdTcNmMDAvlf5QVIiYTNhqNEfcgne0Uz+gun1jNxSTJnJWeciIQ+JQyUuB4 EKTFn1tLtLWkJ3G6qGNQEEzrsKkKMC9OrFotwyrkiVsAvkSMKykHBfY8HWuQuQHNDz16 LGUCkGWRuwQFxEjr2yTdfF6jYzcT1KL5qOHD8JpVH/isE8Ghoxan2L2ULDDCzxY3EmOg PETkE3W6Tzofos8J+DMP7Tejje+vC3aLqVAVgfTd4zUfZU2CwN7lezM5reSvSI5gXJ+f OLmw== 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 :dkim-signature; bh=RAY85vW0eZ067YcH3KySYDrKU07gygVkucbXL81kK7Q=; fh=eytrVLU+Ytn0C5iC0bOKVsFHPXOsi4LlgyO9qW4lYQw=; b=k93AMsZAbg/1Dm0l1Yn2jYkoFyogJUaGV6obgTXK3sVWL09bg/XD5bH2CPPh/qPwvk jGDXj30XrngPEOpzqSFH6SZmbog9KQb5DJTzFFSloL9wxqVOI7ECanEFpQkISMzLzt5g YCpde0+cpHQJw4VNjUzZ0vlroAleFfB0P1ecUCH1x1Nle5XeE6oYfrIHuM3/TlQB0KTt QvBaerRfWP9BVcQyXTLhjsFIv7p47wIh7+48HVZ/oSSBZ6yvV1RnVE70a5TWHxLf2sO5 UtUFFZwScNKPOdnGwQXBgMm4KOCNaP5RkQc48D7rMLjqPJAmOK1dYbWQHRYKnkNB7Wc8 DtRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=NQoceVUX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id x3-20020a63fe43000000b005a9fb6bf73esi5801316pgj.293.2023.12.11.04.00.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 04:00:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=NQoceVUX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id C355580774AA; Mon, 11 Dec 2023 04:00:54 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234803AbjLKMAc (ORCPT + 99 others); Mon, 11 Dec 2023 07:00:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234792AbjLKMAF (ORCPT ); Mon, 11 Dec 2023 07:00:05 -0500 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.196]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A8402172A; Mon, 11 Dec 2023 03:59:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=RAY85 vW0eZ067YcH3KySYDrKU07gygVkucbXL81kK7Q=; b=NQoceVUXnczOA5LnD0Yir 7rKlDs74rEl+EqdMaL9Ty5NVnmMiWvM8I9OxEdwWyzR6nHJ9vCSE5fYI9BAScrbg NnVSl/G1WxGAjPNgFqILDt1uHWt2u5EOfETv/Rbt41g/hPtfWnrjd4PdcSfWzwQR aUaD7k7LxGiyw3x4QlwnKs= Received: from ProDesk.. (unknown [58.22.7.114]) by zwqz-smtp-mta-g3-3 (Coremail) with SMTP id _____wCnd+N7+XZlVD6+Dw--.13391S2; Mon, 11 Dec 2023 19:58:55 +0800 (CST) From: Andy Yan To: heiko@sntech.de Cc: hjc@rock-chips.com, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org, devicetree@vger.kernel.org, sebastian.reichel@collabora.com, kever.yang@rock-chips.com, chris.obbard@collabora.com, Andy Yan , Krzysztof Kozlowski Subject: [PATCH v5 10/16] dt-bindings: display: vop2: Add rk3588 support Date: Mon, 11 Dec 2023 19:58:50 +0800 Message-Id: <20231211115850.1785311-1-andyshrk@163.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231211115547.1784587-1-andyshrk@163.com> References: <20231211115547.1784587-1-andyshrk@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _____wCnd+N7+XZlVD6+Dw--.13391S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxAF1DWF13uw13XFWxCw47XFb_yoWrKFyxpa s3C3W8JrZ7Gr13Xr4kt3WrCw4SgFn5Aw4jyrs7Jr43ta1aqFW0vF4akwn8XayUCFn7Zay2 9FWUua4xJ3W7ZF7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jw4SOUUUUU= X-Originating-IP: [58.22.7.114] X-CM-SenderInfo: 5dqg52xkunqiywtou0bp/xtbBnARDXlghl75eowAAso X-Spam-Status: No, score=0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SORBS_WEB, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 11 Dec 2023 04:00:55 -0800 (PST) From: Andy Yan The vop2 on rk3588 is similar to which on rk356x but with 4 video ports and need to reference more grf modules. Signed-off-by: Andy Yan Reviewed-by: Krzysztof Kozlowski --- (no changes since v4) Changes in v4: - drop redundant description. - use full stop at all the description's end. - address Krzysztof's review in v3 Changes in v3: - constrain properties in allOf:if:then - some description updates Changes in v2: - fix errors when running 'make DT_CHECKER_FLAGS=-m dt_binding_check' .../display/rockchip/rockchip-vop2.yaml | 100 ++++++++++++++---- 1 file changed, 81 insertions(+), 19 deletions(-) diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml index b60b90472d42..2531726af306 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-vop2.yaml @@ -8,8 +8,8 @@ title: Rockchip SoC display controller (VOP2) description: VOP2 (Video Output Processor v2) is the display controller for the Rockchip - series of SoCs which transfers the image data from a video memory - buffer to an external LCD interface. + series of SoCs which transfers the image data from a video memory buffer to + an external LCD interface. maintainers: - Sandy Huang @@ -20,6 +20,7 @@ properties: enum: - rockchip,rk3566-vop - rockchip,rk3568-vop + - rockchip,rk3588-vop reg: items: @@ -27,8 +28,8 @@ properties: Must contain one entry corresponding to the base address and length of the register space. - description: - Can optionally contain a second entry corresponding to - the CRTC gamma LUT address. + Can optionally contain a second entry corresponding to the CRTC gamma + LUT address. reg-names: items: @@ -41,45 +42,63 @@ properties: The VOP interrupt is shared by several interrupt sources, such as frame start (VSYNC), line flag and other status interrupts. + # See compatible-specific constraints below. clocks: + minItems: 5 items: - - description: Clock for ddr buffer transfer. - - description: Clock for the ahb bus to R/W the phy regs. + - description: Clock for ddr buffer transfer via axi. + - description: Clock for the ahb bus to R/W the regs. - description: Pixel clock for video port 0. - description: Pixel clock for video port 1. - description: Pixel clock for video port 2. + - description: Pixel clock for video port 3. + - description: Peripheral(vop grf/dsi) clock. clock-names: + minItems: 5 items: - const: aclk - const: hclk - const: dclk_vp0 - const: dclk_vp1 - const: dclk_vp2 + - const: dclk_vp3 + - const: pclk_vop rockchip,grf: $ref: /schemas/types.yaml#/definitions/phandle description: - Phandle to GRF regs used for misc control + Phandle to GRF regs used for control the polarity of dclk/hsync/vsync of DPI, + also used for query vop memory bisr enable status, etc. + + rockchip,vo1-grf: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to VO GRF regs used for control the polarity of dclk/hsync/vsync of hdmi + on rk3588. + + rockchip,vop-grf: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to VOP GRF regs used for control data path between vopr and hdmi/edp. + + rockchip,pmu: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to PMU GRF used for query vop memory bisr status on rk3588. ports: $ref: /schemas/graph.yaml#/properties/ports - properties: - port@0: + patternProperties: + "^port@[0-3]$": $ref: /schemas/graph.yaml#/properties/port - description: - Output endpoint of VP0 + description: Output endpoint of VP0/1/2/3. - port@1: - $ref: /schemas/graph.yaml#/properties/port - description: - Output endpoint of VP1 + required: + - port@0 - port@2: - $ref: /schemas/graph.yaml#/properties/port - description: - Output endpoint of VP2 + unevaluatedProperties: false iommus: maxItems: 1 @@ -96,6 +115,49 @@ required: - clock-names - ports +allOf: + - if: + properties: + compatible: + contains: + const: rockchip,rk3588-vop + then: + properties: + clocks: + minItems: 7 + clock-names: + minItems: 7 + + ports: + required: + - port@0 + - port@1 + - port@2 + - port@3 + + required: + - rockchip,grf + - rockchip,vo1-grf + - rockchip,vop-grf + - rockchip,pmu + + else: + properties: + rockchip,vo1-grf: false + rockchip,vop-grf: false + rockchip,pmu: false + + clocks: + maxItems: 5 + clock-names: + maxItems: 5 + + ports: + required: + - port@0 + - port@1 + - port@2 + additionalProperties: false examples: -- 2.34.1