From: mkrishn@codeaurora.org
To: Stephen Boyd <swboyd@chromium.org>
Cc: linux-arm-msm@vger.kernel.org, kalyan_t@codeaurora.org,
tanmay@codeaurora.org, abhinavk@codeaurora.org,
robdclark@gmail.com, bjorn.andersson@linaro.org,
vinod.koul@linaro.org, rnayak@codeaurora.org,
dianders@chromium.org, sibis@codeaurora.org
Subject: Re: [PATCH v10 2/4] dt-bindings: msm: dsi: add yaml schemas for DSI bindings
Date: Tue, 09 Feb 2021 16:23:41 +0530 [thread overview]
Message-ID: <2411ac0b2de4b4324b41f08761af1dff@codeaurora.org> (raw)
In-Reply-To: <161256448377.76967.104870400778698831@swboyd.mtv.corp.google.com>
On 2021-02-06 04:04, Stephen Boyd wrote:
> Quoting Krishna Manikandan (2021-02-03 22:42:17)
>> Add YAML schema for the device tree bindings for DSI
>> controller.
>>
>> Signed-off-by: Krishna Manikandan <mkrishn@codeaurora.org>
>>
>> Changes in v1:
>> - Separate dsi controller bindings to a separate patch (Stephen
>> Boyd)
>> - Merge dsi-common-controller.yaml and dsi-controller-main.yaml to
>> a single file (Stephen Boyd)
>> - Drop supply entries and definitions from properties (Stephen
>> Boyd)
>> - Modify phy-names property for dsi controller (Stephen Boyd)
>> - Remove boolean from description (Stephen Boyd)
>> - Drop pinctrl properties as they are standard entries (Stephen
>> Boyd)
>> - Modify the description for ports property and keep the reference
>> to the generic binding where this is defined (Stephen Boyd)
>> - Add description to clock names (Stephen Boyd)
>> - Correct the indendation (Stephen Boyd)
>> - Drop the label for display dt nodes and correct the node
>> name (Stephen Boyd)
>> ---
>> .../bindings/display/msm/dsi-controller-main.yaml | 233
>> +++++++++++++++++++
>> .../devicetree/bindings/display/msm/dsi.txt | 249
>> ---------------------
>> 2 files changed, 233 insertions(+), 249 deletions(-)
>> create mode 100644
>> Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
>> delete mode 100644
>> Documentation/devicetree/bindings/display/msm/dsi.txt
>>
>> diff --git
>> a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
>> b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
>> new file mode 100644
>> index 0000000..9177d01
>> --- /dev/null
>> +++
>> b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
>> @@ -0,0 +1,233 @@
>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id:
>> http://devicetree.org/schemas/display/msm/dsi-controller-main.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Description of Qualcomm Display DSI controller dt properties
>> +
>> +maintainers:
>> + - Krishna Manikandan <mkrishn@codeaurora.org>
>> +
>> +description: |
>> + Common Device tree bindings for DSI controller.
>> +
>> +allOf:
>> + - $ref: "../dsi-controller.yaml#"
>> +
>> +properties:
>> + compatible:
>> + items:
>> + - const: qcom,mdss-dsi-ctrl
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + reg-names:
>> + const: dsi_ctrl
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 6
>
> Drop maxItems? Or are some clks optional sometimes?
>
>> + items:
>> + - description: Display byte clock
>> + - description: Display byte interface clock
>> + - description: Display pixel clock
>> + - description: Display escape clock
>> + - description: Display AHB clock
>> + - description: Display AXI clock
>> +
>> + clock-names:
>> + items:
>> + - const: byte
>> + - const: byte_intf
>> + - const: pixel
>> + - const: core
>> + - const: iface
>> + - const: bus
>> +
>> + phys:
>> + minItems: 1
>> +
>> + phy-names:
>> + const: dsi
>> +
>> + syscon-sfpb:
>> + description: A phandle to mmss_sfpb syscon node (only for DSIv2).
>> + $ref: "/schemas/types.yaml#/definitions/phandle"
>> +
>> + qcom,mdss-mdp-transfer-time-us:
>> + description: |
>> + Specifies the DSI transfer time for command mode
>> + panels in microseconds. Driver uses this number to adjust
>> + the clock rate according to the expected transfer time.
>> + Increasing this value would slow down the mdp processing
>> + and can result in slower performance.
>> + Decreasing this value can speed up the mdp processing,
>> + but this can also impact power consumption.
>> + As a rule this time should not be higher than the time
>> + that would be expected with the processing at the
>> + DSI link rate since anyways this would be the maximum
>> + transfer time that could be achieved.
>> + If ping pong split is enabled, this time should not be higher
>> + than two times the DSI link rate time.
>> + This is an optional property.
>> + default: 14000
>
> Why is this in DT vs. being tweaked from userspace? This was there
> before but it isn't used anywhere in an upstream DTS file so please
> drop
> it.
>
>> +
>> + qcom,dual-dsi-mode:
>> + type: boolean
>> + description: |
>> + Indicates if the DSI controller is driving a panel which needs
>> + 2 DSI links.
>
> Shouldn't this be apparent from the OF graph indicating two DSI
> endpoints?
Yes Stephen, you are correct. But these properties ( qcom,dual-dsi-mode
and qcom,master-dsi) are defined in sdm845 dtsi file
and the current code is parsing these properties during dsi probe. That
is why I defined these properties here.
>
>> +
>> + qcom,master-dsi:
>> + type: boolean
>> + description: |
>> + Indicates if the DSI controller is driving the master link of
>> + the 2-DSI panel.
>
> When is this not the case? This property looks like some sort of
> workaround for driver probe ordering. It was there before though so I
> guess this is fine.
>
>> +
>> + qcom,sync-dual-dsi:
>> + type: boolean
>> + description: |
>> + Indicates if the DSI controller is driving a 2-DSI panel whose
>> + 2 links need receive command simultaneously.
>
> Feels like it should be a property of the panel node?
We are not using this property in any of the targets. I will remove this
property.
>
>> +
>> + ports:
>> + type: object
>> + description: |
>> + Contains DSI controller input and output ports as children,
>> each
>> + containing one endpoint subnode as defined in
>> + Documentation/devicetree/bindings/graph.txt and
>> + Documentation/devicetree/bindings/media/video-interfaces.txt.
>> +
>> + properties:
>> + port@0:
>> + type: object
>> + description: |
>> + Input endpoints of the controller.
>> +
>> + properties:
>> + reg:
>> + const: 0
>> +
>> + endpoint:
>> + type: object
>> + properties:
>> + remote-endpoint:
>> + description: |
>> + For port@0, set to phandle of the connected
>> panel/bridge's
>> + input endpoint. For port@1, set to the MDP
>> interface output.
>> + See Documentation/devicetree/bindings/graph.txt for
>> + device graph info.
>> +
>> + data-lanes:
>> + description: |
>> + This describes how the physical DSI data lanes are
>> mapped
>> + to the logical lanes on the given platform. The
>> value contained in
>> + index n describes what physical lane is mapped to
>> the logical lane n
>> + (DATAn, where n lies between 0 and 3). The clock
>> lane position is fixed
>> + and can't be changed. Hence, they aren't a part of
>> the DT bindings. See
>> +
>> Documentation/devicetree/bindings/media/video-interfaces.txt for
>> + more info on the data-lanes property.
>> +
>> + items:
>> + - const: 0
>> + - const: 1
>> + - const: 2
>> + - const: 3
>> + port@1:
>> + type: object
>> + description: |
>> + Output endpoints of the controller.
>> + properties:
>> + reg:
>> + const: 1
>> +
>> + endpoint:
>> + type: object
>> + properties:
>> + remote-endpoint: true
>> + data-lanes:
>> + items:
>> + - const: 0
>> + - const: 1
>> + - const: 2
>> + - const: 3
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - reg-names
>> + - interrupts
>> + - clocks
>> + - clock-names
>> + - phys
>> + - phy-names
>> + - ports
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> + #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
>> + #include <dt-bindings/clock/qcom,gcc-sdm845.h>
>> +
>> + soc {
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>
> The soc node can be left out.
Should I follow the same approach that you suggested in DP yaml patch
here also ?
ie. soc {
#address-cells = <2>;
#size-cells = <2>;
dsi@ae9400000{
...
}
}
Link :
https://patchwork.kernel.org/project/linux-arm-msm/patch/1612420939-15502-4-git-send-email-mkrishn@codeaurora.org/
Comment:
Please look at section "2.2.2 Generic Names Recommendation"
of the DT
spec[1] to find a proper name. I don't see 'subsystem' there
but that
may be because it shouldn't really exist as a node. Instead
we should
have the child nodes sit directly under the SoC node.
>
>> +
>> + mdss@ae00000 {
>
> subsystem?
>
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + reg = <0 0xae00000 0 0x1000>;
>> + interrupt-controller;
>> + #interrupt-cells = <1>;
>> +
>> + dsi@ae94000 {
>> + compatible = "qcom,mdss-dsi-ctrl";
next prev parent reply other threads:[~2021-02-09 10:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 6:42 [PATCH v10 1/4] dt-bindings: msm: disp: add yaml schemas for DPU bindings Krishna Manikandan
2021-02-04 6:42 ` [PATCH v10 2/4] dt-bindings: msm: dsi: add yaml schemas for DSI bindings Krishna Manikandan
2021-02-05 22:34 ` Stephen Boyd
2021-02-09 10:53 ` mkrishn [this message]
2021-02-10 6:02 ` Stephen Boyd
2021-02-04 6:42 ` [PATCH v10 3/4] dt-bindings: msm: dsi: add yaml schemas for DSI PHY bindings Krishna Manikandan
2021-02-05 19:08 ` Stephen Boyd
2021-02-04 6:42 ` [PATCH v10 4/4] dt-bindings: msm/dp: Add bindings of MSM DisplayPort controller Krishna Manikandan
2021-02-05 19:02 ` Stephen Boyd
2021-02-05 20:55 ` khsieh
2021-02-05 22:38 ` Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2411ac0b2de4b4324b41f08761af1dff@codeaurora.org \
--to=mkrishn@codeaurora.org \
--cc=abhinavk@codeaurora.org \
--cc=bjorn.andersson@linaro.org \
--cc=dianders@chromium.org \
--cc=kalyan_t@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=rnayak@codeaurora.org \
--cc=robdclark@gmail.com \
--cc=sibis@codeaurora.org \
--cc=swboyd@chromium.org \
--cc=tanmay@codeaurora.org \
--cc=vinod.koul@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.