From patchwork Sun Nov 20 13:37:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Skladowski X-Patchwork-Id: 23429 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1121218wrr; Sun, 20 Nov 2022 05:48:48 -0800 (PST) X-Google-Smtp-Source: AA0mqf6q2Eif2ZQbZmY+N7kL1nD2Fev7jnGAQGG2dRPywIW54lpqipOehbEj52m9Kw+KvDPQyWSR X-Received: by 2002:a17:90b:3d90:b0:200:7cf7:3d79 with SMTP id pq16-20020a17090b3d9000b002007cf73d79mr21409937pjb.206.1668952128580; Sun, 20 Nov 2022 05:48:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668952128; cv=none; d=google.com; s=arc-20160816; b=F12AicpRvrRISMtZifCDR4sskCVV//JWj+tDPssMiEsUHDlmWdffdq5EG2gcf6ZWW5 jqmFDNu/WwgtaDT5tsuXJnMT8HawBLxKiW7xho5qD3pAHy1kZfe03uwAa6EQe23oqHgA DF6I3xlZdv8s7VM3c1LWMT6MzxS7kGFn/bdSEQqqyG+i/zejQ+JJGno2VwlqO9i4jJoV nWnSohU2XO9BEgoA5Ssv0i5eJ/cLVuFTQk3c+TxA9QvG6G6oKRR8WxAa9FqUbjQhMZ2C r95BOGwIQqQxgFcf6WyloiQV54jFbSJnMYkubKFOcvPPrxBEi3QWm5aAqLJj/VThsSeY VSfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:from :dkim-signature; bh=OzXsdaV0yYJVFnC6vIcaEdH5pReQJDZIYDtzxhECLeE=; b=dU6cAFnkL7OsMiPAj25d1qFNZaazc/KTP5ZglgmQ7BEC2X2XRQjjFSERfWlrEvmnX/ TZ79jn65Krq4IU4LRtVOp1z4f1HClOyF6XqgwNJwvUGqy0pxNP9vSPTqXT/JpprQCNFn 73QGzmFLRnrR6lHQwKUXLMJ1quRmu3tM8tvBD1qwjTszA/Swz+isjok+7ZiRo5HLtfEc 0IOeSkVXoJG6q9M6fFPWCvOtomTVpXJxVXTg9gNdjI6c5jwtFWlRnjWoFEJ1tJ7S0gdp TzpTvHWhfRFB2byD/rfRL6dvvrQ5xShkIlfjAEJm6hRCtb53exuxo4W5Ie3bUyny+Fbr scrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20210112 header.b=EsrKw0s8; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u14-20020a63790e000000b0046fbe60747asi8584831pgc.594.2022.11.20.05.48.34; Sun, 20 Nov 2022 05:48:48 -0800 (PST) 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; dkim=fail header.i=@gmail.com header.s=20210112 header.b=EsrKw0s8; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229648AbiKTNli (ORCPT + 99 others); Sun, 20 Nov 2022 08:41:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52248 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229600AbiKTNlg (ORCPT ); Sun, 20 Nov 2022 08:41:36 -0500 Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F2B223386; Sun, 20 Nov 2022 05:41:34 -0800 (PST) Received: by mail-lf1-x129.google.com with SMTP id r12so15290286lfp.1; Sun, 20 Nov 2022 05:41:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OzXsdaV0yYJVFnC6vIcaEdH5pReQJDZIYDtzxhECLeE=; b=EsrKw0s8kHaofIOPAZdTCaLSaKJ/mI4pti1Ux2Md77oOtgCF1ZsJznBr0zp/5gdzGF 5+ouPvdG3XHRwFnIjrYAhs2Jnfx30eNrcMqOwONbuXbblc0Yg4aFKARzr+C9yiyg2AUa JeSeSuQprF2O702mgO7/gy9SUjuh28hJZCvZ3MRW74B6YU+NhKIp8ikPInxEn8jqRjM5 qvtY49m6j8Si9GmE8XygsgDpZXz/F+cC1KCzHTxkA9AncTQ9eivTf4qjwOBPOn0qw8Po umkqA3qdX3XBtE6AjFUsK6YzS8KDMpKteLc3nffhNEdR7/S0OsLK7Oh1qQ9WVkZADxp6 yCMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OzXsdaV0yYJVFnC6vIcaEdH5pReQJDZIYDtzxhECLeE=; b=bmM0prHAAjq1K0x6/FW9Jhcaf0Rs+vHnUALCbPMl3itxu6g35eR9nukMsNAn3xaxQ+ 1DBiChANLbnTms06dlHTVHWnkGh8mXk483ZW+zIsH6AmydXJBOHkOtDWIGRFI3m5A4LW svIO7D57B4EGfRqUYqHOGB4UacoQS8BbUxCVjPm03xRHlYcsMT0xBZkG6mwzKVxRWoZq CDfP7oSk8fnuMMd6TUOqZqI2CEYcVEDNwAjliSfNNRGq4GV2N4aF70gd0V33GO6mtadZ 345HkUgXWES0/VpvY1c1OC/PNS2RR1s/QX4IrCJUIn+a2EspgaWelcnGIOYAMt2pnHCV /rVA== X-Gm-Message-State: ANoB5pkDFjXa5LhYhOqkBA6KBTZwMAb6dVWeRnVA8lrgLWoydYDEMC47 9YF371SfFGs7Z214gSYCRMVeaUGesT0SJw== X-Received: by 2002:a05:6512:3b88:b0:4a3:9533:f4c9 with SMTP id g8-20020a0565123b8800b004a39533f4c9mr5141368lfv.615.1668951692715; Sun, 20 Nov 2022 05:41:32 -0800 (PST) Received: from localhost.localdomain (cds73.neoplus.adsl.tpnet.pl. [83.30.168.73]) by smtp.gmail.com with ESMTPSA id m3-20020a056512114300b004afac783b5esm1536287lfg.238.2022.11.20.05.41.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Nov 2022 05:41:32 -0800 (PST) From: Adam Skladowski Cc: phone-devel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Adam Skladowski , Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Kalyan Thota , Jessica Zhang , AngeloGioacchino Del Regno , Loic Poulain , Adam Skladowski , Stephen Boyd , Jason Wang , Vinod Polimera , Vinod Koul , Douglas Anderson , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson Subject: [PATCH 1/2] dt-bindings: display/msm: add support for the display Date: Sun, 20 Nov 2022 14:37:36 +0100 Message-Id: <20221120133744.24808-2-a39.skl@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221120133744.24808-1-a39.skl@gmail.com> References: <20221120133744.24808-1-a39.skl@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750023147266740147?= X-GMAIL-MSGID: =?utf-8?q?1750023147266740147?= Add DPU and MDSS schemas to describe MDSS and DPU blocks on the Qualcomm SM6115 platform. Configuration for DSI/PHY is shared with QCM2290 so compatibles are reused. Lack of dsi phy supply in example is intended due to fact on qcm2290, sm6115 and sm6125 this phy is supplied via power domain, not regulator. Signed-off-by: Adam Skladowski --- .../bindings/display/msm/qcom,sm6115-dpu.yaml | 87 ++++++++ .../display/msm/qcom,sm6115-mdss.yaml | 187 ++++++++++++++++++ 2 files changed, 274 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sm6115-dpu.yaml create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6115-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-dpu.yaml new file mode 100644 index 000000000000..cc77675ec4f6 --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-dpu.yaml @@ -0,0 +1,87 @@ +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/qcom,sm6115-dpu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Display DPU dt properties for SM6115 target + +maintainers: + - Dmitry Baryshkov + +$ref: /schemas/display/msm/dpu-common.yaml# + +properties: + compatible: + items: + - const: qcom,sm6115-dpu + + reg: + items: + - description: Address offset and size for mdp register set + - description: Address offset and size for vbif register set + + reg-names: + items: + - const: mdp + - const: vbif + + clocks: + items: + - description: Display AXI clock from gcc + - description: Display AHB clock from dispcc + - description: Display core clock from dispcc + - description: Display lut clock from dispcc + - description: Display rotator clock from dispcc + - description: Display vsync clock from dispcc + + clock-names: + items: + - const: bus + - const: iface + - const: core + - const: lut + - const: rot + - const: vsync + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + + display-controller@5e01000 { + compatible = "qcom,sm6115-dpu"; + reg = <0x05e01000 0x8f000>, + <0x05eb0000 0x2008>; + reg-names = "mdp", "vbif"; + + clocks = <&gcc GCC_DISP_HF_AXI_CLK>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>, + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, + <&dispcc DISP_CC_MDSS_ROT_CLK>, + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; + clock-names = "bus", "iface", "core", "lut", "rot", "vsync"; + + operating-points-v2 = <&mdp_opp_table>; + power-domains = <&rpmpd SM6115_VDDCX>; + + interrupt-parent = <&mdss>; + interrupts = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&dsi0_in>; + }; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml new file mode 100644 index 000000000000..af721aa05b22 --- /dev/null +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml @@ -0,0 +1,187 @@ +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/msm/qcom,sm6115-mdss.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SM6115 Display MDSS + +maintainers: + - Dmitry Baryshkov + +description: + Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates + sub-blocks like DPU display controller and DSI. Device tree bindings of MDSS + are mentioned for SM6115 target. + +$ref: /schemas/display/msm/mdss-common.yaml# + +properties: + compatible: + items: + - const: qcom,sm6115-mdss + + clocks: + items: + - description: Display AHB clock from gcc + - description: Display AXI clock + - description: Display core clock + + clock-names: + items: + - const: iface + - const: bus + - const: core + + iommus: + maxItems: 2 + +patternProperties: + "^display-controller@[0-9a-f]+$": + type: object + properties: + compatible: + const: qcom,sm6115-dpu + + "^dsi@[0-9a-f]+$": + type: object + properties: + compatible: + const: qcom,dsi-ctrl-6g-qcm2290 + + "^phy@[0-9a-f]+$": + type: object + properties: + compatible: + const: qcom,dsi-phy-14nm-2290 + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + #include + #include + + mdss@5e00000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "qcom,sm6115-mdss"; + reg = <0x05e00000 0x1000>; + reg-names = "mdss"; + power-domains = <&dispcc MDSS_GDSC>; + clocks = <&gcc GCC_DISP_AHB_CLK>, + <&gcc GCC_DISP_HF_AXI_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>; + clock-names = "iface", "bus", "core"; + + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; + + iommus = <&apps_smmu 0x420 0x2>, + <&apps_smmu 0x421 0x0>; + ranges; + + display-controller@5e01000 { + compatible = "qcom,sm6115-dpu"; + reg = <0x05e01000 0x8f000>, + <0x05eb0000 0x2008>; + reg-names = "mdp", "vbif"; + + clocks = <&gcc GCC_DISP_HF_AXI_CLK>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>, + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, + <&dispcc DISP_CC_MDSS_ROT_CLK>, + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; + clock-names = "bus", "iface", "core", "lut", "rot", "vsync"; + + operating-points-v2 = <&mdp_opp_table>; + power-domains = <&rpmpd SM6115_VDDCX>; + + interrupt-parent = <&mdss>; + interrupts = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dpu_intf1_out: endpoint { + remote-endpoint = <&dsi0_in>; + }; + }; + }; + }; + + dsi@5e94000 { + compatible = "qcom,dsi-ctrl-6g-qcm2290"; + reg = <0x05e94000 0x400>; + reg-names = "dsi_ctrl"; + + interrupt-parent = <&mdss>; + interrupts = <4>; + + clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, + <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, + <&dispcc DISP_CC_MDSS_PCLK0_CLK>, + <&dispcc DISP_CC_MDSS_ESC0_CLK>, + <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&gcc GCC_DISP_HF_AXI_CLK>; + clock-names = "byte", + "byte_intf", + "pixel", + "core", + "iface", + "bus"; + assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; + + operating-points-v2 = <&dsi_opp_table>; + power-domains = <&rpmpd SM6115_VDDCX>; + phys = <&dsi0_phy>; + phy-names = "dsi"; + + #address-cells = <1>; + #size-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dsi0_in: endpoint { + remote-endpoint = <&dpu_intf1_out>; + }; + }; + + port@1 { + reg = <1>; + dsi0_out: endpoint { + }; + }; + }; + }; + + dsi0_phy: phy@5e94400 { + compatible = "qcom,dsi-phy-14nm-2290"; + reg = <0x05e94400 0x100>, + <0x05e94500 0x300>, + <0x05e94800 0x188>; + reg-names = "dsi_phy", + "dsi_phy_lane", + "dsi_pll"; + + #clock-cells = <1>; + #phy-cells = <0>; + + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; + clock-names = "iface", "ref"; + }; + }; +...