Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7249513rwb; Tue, 15 Nov 2022 09:30:46 -0800 (PST) X-Google-Smtp-Source: AA0mqf7iO0ZQWa8+9OkBXnCTyAkIUUHU1klECrxpQ60YneVY4gDimV2axCAAlxatA5koHzPV1PyU X-Received: by 2002:a17:906:c10:b0:7ad:caf4:9e92 with SMTP id s16-20020a1709060c1000b007adcaf49e92mr14549945ejf.510.1668533445985; Tue, 15 Nov 2022 09:30:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668533445; cv=none; d=google.com; s=arc-20160816; b=KOgmdVwOsDv00c9ov0uHNBhsoJajhTX5OVDAmyM43qvrXeqHkZFPuvYB16gXQOX1Nn cb3NtFzVYGNxf13wQ1qUvgHou09xDoTq3y08ZGe6GdbY8qwwTajEEOvpe3CXPDL+L7+G blABnk7Y5L48uW2w4duskt0DRcUK8CwYhEQ/jm4vp0UOaV/sHwDpoYJ2ZZPMpU7LIr9X qtnNwip0Pj+KjXCarZBMOzzDCAvHiFHB3aMnloAlsRR9/b47D/jgkGvT2ZQ1e9HAntSl B/oZ502guV/EC/Mzhbx2+rMmMB3b9GNeVu2vrqSujdqJsIWxjAuwsSYXM3YFRTSJSt/U jlTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=R9gOR5XKafnXWgmzhGgTUQWq/LnlQ76zGIsqGskX8wE=; b=C5vnUbCJdOQpGKQVRO95Ais9qjuXuRmqOTsjklvrTV5/1gAKWOdz/W+Pcxqpuh4MWa VRDbEPAK2sD5+ujnKczbsq0ODSygPQdWFRF7u6EOR6bKmE0fnZVj91+6EqabSBOPpbKL Lu1OEAv3uYhfHa2l1pqmPt6/oSdlmttzpcoi/G2ndRRRZgvvA6aFaauyY7Kq9cs1FUz2 PWcizE5C/zSYbNCId51+0uLrQBA/FxcHqu9jLQWYiiQ5ouswaWRf4m050mU4ylWhjuiB N5jOzAAgw89FOxGrJGnIkBB/OKprmIr2FnJOWKWio/ipx1djca9dO2IoKJ8i13Ja31Vs 6O/w== ARC-Authentication-Results: i=1; mx.google.com; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dm24-20020a05640222d800b004614fa1f99csi10040783edb.540.2022.11.15.09.30.23; Tue, 15 Nov 2022 09:30:45 -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; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231556AbiKOQtM (ORCPT + 90 others); Tue, 15 Nov 2022 11:49:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230009AbiKOQtI (ORCPT ); Tue, 15 Nov 2022 11:49:08 -0500 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3D3926560; Tue, 15 Nov 2022 08:49:06 -0800 (PST) Received: by mail-oi1-f176.google.com with SMTP id m204so15452053oib.6; Tue, 15 Nov 2022 08:49:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=R9gOR5XKafnXWgmzhGgTUQWq/LnlQ76zGIsqGskX8wE=; b=JWm3WRKi8QJpOJNN9+4WXPvkrvQmoUBqaHuBxoMNGf6j+W362KU4nqvu77cewGtzd3 6Nyr1uAciz8LxHgVyaiqG2ddf4FReJCgnq4EGmz3hyCgH0oaqiz+ptI1J3Xvku/byqmr UHak1JVvNrRk/foifA+F+cnoJyTxEyWR7gIHxZXiHYi69iAi74+AYu/YJNyqpTeeNDqr Mu1YWsN6nrSkqlGC4b56+c0NFHqRX6WAdkIPJJTmektsJ5WnFxrP7kDQE9HR5WBs5zrV E6u3ZdwQuGM+i1hkWsrRJ/9U1074ajf7uSHlZdUDEbr/HmvK3sFEY8UrQ8shYcq3W4kX CLGw== X-Gm-Message-State: ANoB5pnNKiiWtnxAhZTI0vNS11p6ejEQgIUmc8waQrTlwa0mpO/ijwRX IHhST/TM+B1SWiFgHraUMw== X-Received: by 2002:a05:6808:e8a:b0:34f:335e:6bb8 with SMTP id k10-20020a0568080e8a00b0034f335e6bb8mr749939oil.213.1668530945916; Tue, 15 Nov 2022 08:49:05 -0800 (PST) Received: from robh_at_kernel.org (66-90-144-107.dyn.grandenetworks.net. [66.90.144.107]) by smtp.gmail.com with ESMTPSA id bm49-20020a0568081ab100b00353fe4fb4casm5040871oib.48.2022.11.15.08.49.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Nov 2022 08:49:05 -0800 (PST) Received: (nullmailer pid 1095234 invoked by uid 1000); Tue, 15 Nov 2022 16:49:07 -0000 Date: Tue, 15 Nov 2022 10:49:07 -0600 From: Rob Herring To: Robert Foss Cc: robdclark@gmail.com, quic_abhinavk@quicinc.com, dmitry.baryshkov@linaro.org, sean@poorly.run, airlied@linux.ie, daniel@ffwll.ch, krzysztof.kozlowski+dt@linaro.org, agross@kernel.org, bjorn.andersson@linaro.org, konrad.dybcio@somainline.org, quic_kalyant@quicinc.com, swboyd@chromium.org, angelogioacchino.delregno@somainline.org, loic.poulain@linaro.org, vkoul@kernel.org, quic_vpolimer@quicinc.com, dianders@chromium.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Marek , vinod.koul@linaro.org, quic_jesszhan@quicinc.com, andersson@kernel.org Subject: Re: [PATCH v2 02/12] dt-bindings: display: msm: Add qcom,sm8350-mdss binding Message-ID: <20221115164907.GB1088214-robh@kernel.org> References: <20221115111721.891404-1-robert.foss@linaro.org> <20221115111721.891404-3-robert.foss@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221115111721.891404-3-robert.foss@linaro.org> X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 15, 2022 at 12:17:11PM +0100, Robert Foss wrote: > Mobile Display Subsystem (MDSS) encapsulates sub-blocks > like DPU display controller, DSI etc. Add YAML schema for MDSS device > tree bindings > > Signed-off-by: Robert Foss > --- > .../display/msm/qcom,sm8350-mdss.yaml | 240 ++++++++++++++++++ > 1 file changed, 240 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/msm/qcom,sm8350-mdss.yaml > > diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm8350-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm8350-mdss.yaml > new file mode 100644 > index 000000000000..9a0694853576 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/msm/qcom,sm8350-mdss.yaml > @@ -0,0 +1,240 @@ > +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/msm/qcom,sm8350-mdss.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm SM8350 Display MDSS > + > +maintainers: > + - Robert Foss > + > +description: > + Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates Drop 'Device tree bindings for '. Describe what this h/w is. > + sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree > + bindings of MDSS are mentioned for SM8350 target. > + > +$ref: /schemas/display/msm/mdss-common.yaml# > + > +properties: > + compatible: > + items: > + - const: qcom,sm8350-mdss > + > + clocks: > + items: > + - description: Display AHB clock from gcc > + - description: Display hf axi clock > + - description: Display sf axi clock > + - description: Display core clock > + > + clock-names: > + items: > + - const: iface > + - const: bus > + - const: nrt_bus > + - const: core > + > + iommus: > + maxItems: 1 > + > + interconnects: > + maxItems: 2 > + > + interconnect-names: > + maxItems: 2 Need to define the names. > + > +patternProperties: > + "^display-controller@[0-9a-f]+$": > + type: object > + properties: > + compatible: > + const: qcom,sm8350-dpu > + > + "^dsi@[0-9a-f]+$": > + type: object > + properties: > + compatible: > + const: qcom,mdss-dsi-ctrl > + > + "^phy@[0-9a-f]+$": > + type: object > + properties: > + compatible: > + const: qcom,dsi-phy-5nm-8350 > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include > + #include > + #include > + #include > + #include > + #include > + > + display-subsystem@ae00000 { > + compatible = "qcom,sm8350-mdss"; > + reg = <0x0ae00000 0x1000>; > + reg-names = "mdss"; > + > + interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>, > + <&mmss_noc MASTER_MDP1 0 &mc_virt SLAVE_EBI1 0>; > + interconnect-names = "mdp0-mem", "mdp1-mem"; > + > + power-domains = <&dispcc MDSS_GDSC>; > + resets = <&dispcc DISP_CC_MDSS_CORE_BCR>; > + > + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, > + <&gcc GCC_DISP_HF_AXI_CLK>, > + <&gcc GCC_DISP_SF_AXI_CLK>, > + <&dispcc DISP_CC_MDSS_MDP_CLK>; > + clock-names = "iface", "bus", "nrt_bus", "core"; > + > + iommus = <&apps_smmu 0x820 0x402>; > + > + interrupts = ; > + interrupt-controller; > + #interrupt-cells = <1>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + display-controller@ae01000 { > + compatible = "qcom,sm8350-dpu"; > + reg = <0x0ae01000 0x8f000>, > + <0x0aeb0000 0x2008>; > + reg-names = "mdp", "vbif"; > + > + clocks = <&gcc GCC_DISP_HF_AXI_CLK>, > + <&gcc GCC_DISP_SF_AXI_CLK>, > + <&dispcc DISP_CC_MDSS_AHB_CLK>, > + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, > + <&dispcc DISP_CC_MDSS_MDP_CLK>, > + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; > + clock-names = "bus", > + "nrt_bus", > + "iface", > + "lut", > + "core", > + "vsync"; > + > + assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>; > + assigned-clock-rates = <19200000>; > + > + operating-points-v2 = <&mdp_opp_table>; > + power-domains = <&rpmhpd SM8350_MMCX>; > + > + interrupt-parent = <&mdss>; > + interrupts = <0>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + dpu_intf1_out: endpoint { > + remote-endpoint = <&dsi0_in>; > + }; > + }; > + }; > + > + mdp_opp_table: opp-table { > + compatible = "operating-points-v2"; > + > + opp-200000000 { > + opp-hz = /bits/ 64 <200000000>; > + required-opps = <&rpmhpd_opp_low_svs>; > + }; > + > + opp-300000000 { > + opp-hz = /bits/ 64 <300000000>; > + required-opps = <&rpmhpd_opp_svs>; > + }; > + > + opp-345000000 { > + opp-hz = /bits/ 64 <345000000>; > + required-opps = <&rpmhpd_opp_svs_l1>; > + }; > + > + opp-460000000 { > + opp-hz = /bits/ 64 <460000000>; > + required-opps = <&rpmhpd_opp_nom>; > + }; > + }; > + }; > + > + dsi0: dsi@ae94000 { > + compatible = "qcom,mdss-dsi-ctrl"; > + reg = <0x0ae94000 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 = <&rpmhpd SM8350_MMCX>; > + > + phys = <&dsi0_phy>; > + phy-names = "dsi"; > + > + 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@ae94400 { I assume the phy has its own example somewhere else and its not really relevant to this binding. So drop. > + compatible = "qcom,dsi-phy-5nm-8350"; > + reg = <0x0ae94400 0x200>, > + <0x0ae94600 0x280>, > + <0x0ae94900 0x260>; > + reg-names = "dsi_phy", > + "dsi_phy_lane", > + "dsi_pll"; > + > + #clock-cells = <1>; > + #phy-cells = <0>; > + > + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, > + <&rpmhcc RPMH_CXO_CLK>; > + clock-names = "iface", "ref"; > + > + vdds-supply = <&vreg_l5b_0p88>; > + }; > + }; > +... > -- > 2.34.1 > >