From: tanmay@codeaurora.org
To: Stephen Boyd <swboyd@chromium.org>
Cc: devicetree@vger.kernel.org, sam@ravnborg.org,
seanpaul@chromium.org, freedreno@lists.freedesktop.org,
linux-arm-msm@vger.kernel.org, chandanu@codeaurora.org,
robdclark@gmail.com, abhinavk@codeaurora.org,
nganji@codeaurora.org, dri-devel@lists.freedesktop.org,
linux-clk@vger.kernel.org, Vara Reddy <varar@codeaurora.org>
Subject: Re: [PATCH v6 1/5] dt-bindings: msm/dp: add bindings of DP/DP-PLL driver for Snapdragon
Date: Tue, 16 Jun 2020 15:30:16 -0700 [thread overview]
Message-ID: <339dea7850113f9721a1761e31902af5@codeaurora.org> (raw)
In-Reply-To: <159230492894.62212.17830740055624171310@swboyd.mtv.corp.google.com>
Thanks Stephen for your answers.
On 2020-06-16 03:55, Stephen Boyd wrote:
> Quoting tanmay@codeaurora.org (2020-06-11 13:07:09)
>> On 2020-06-09 19:15, Stephen Boyd wrote:
>> > Quoting Tanmay Shah (2020-06-08 20:38:18)
>> >> diff --git
>> >> a/Documentation/devicetree/bindings/display/msm/dp-sc7180.yaml
>> >> b/Documentation/devicetree/bindings/display/msm/dp-sc7180.yaml
>> >> new file mode 100644
>> >> index 0000000..5fdb915
>> >> --- /dev/null
>> >> +++ b/Documentation/devicetree/bindings/display/msm/dp-sc7180.yaml
>> >
>> > Typically the file name matches the compatible string. But the
>> > compatible string is just qcom,dp-display. Maybe the compatible string
>> > should be qcom,sc7180-dp? Notice that the SoC number comes first as is
>> > preferred.
>> >
>> These bindings will be similar for upcoming SOC as well.
>> So just for understanding, when we add new SOC do we create new file
>> with same bidings
>> with SOC number in new file name?
>> Instead we can keep this file's name as qcom,dp-display.yaml (same as
>> compatible const) and we can include SOC number in compatible enum ?
>> some examples:
>> https://patchwork.kernel.org/patch/11448357/
>> https://patchwork.kernel.org/patch/11164619/
>
> Yes that works too. It's really up to robh here.
>
>> >
>> >> @@ -0,0 +1,142 @@
>> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> >> +%YAML 1.2
>> >> +---
>> >> +$id: http://devicetree.org/schemas/display/msm/dp-sc7180.yaml#
>> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> >> +
>> >> +title: Qualcomm Display Port Controller.
>> >> +
>> >> +maintainers:
>> >> + - Chandan Uddaraju <chandanu@codeaurora.org>
>> >> + - Vara Reddy <varar@codeaurora.org>
>> >> + - Tanmay Shah <tanmay@codeaurora.org>
>> >> +
>> >> +description: |
>> >> + Device tree bindings for MSM Display Port which supports DP host
>> >> controllers
>> >> + that are compatible with VESA Display Port interface specification.
>> >> +
>> >> +properties:
>> >> + compatible:
>> >> + items:
>> >> + - const: qcom,dp-display
>> >> +
>> >> + cell-index:
>> >> + description: Specifies the controller instance.
>> >> +
>> >> + reg:
>> >> + items:
>> >> + - description: DP controller registers
>> >> +
>> >> + interrupts:
>> >> + description: The interrupt signal from the DP block.
>> >> +
>> >> + clocks:
>> >> + description: List of clock specifiers for clocks needed by the
>> >> device.
>> >> + items:
>> >> + - description: Display Port AUX clock
>> >> + - description: Display Port Link clock
>> >> + - description: Link interface clock between DP and PHY
>> >> + - description: Display Port Pixel clock
>> >> + - description: Root clock generator for pixel clock
>> >> +
>> >> + clock-names:
>> >> + description: |
>> >> + Device clock names in the same order as mentioned in clocks
>> >> property.
>> >> + The required clocks are mentioned below.
>> >> + items:
>> >> + - const: core_aux
>> >> + - const: ctrl_link
>> >> + - const: ctrl_link_iface
>> >> + - const: stream_pixel
>> >> + - const: pixel_rcg
>> >
>> > Why not just 'pixel'? And why is the root clk generator important? It
>> > looks like this binding should be using the assigned clock parents
>> > property instead so that it doesn't have to call clk_set_parent()
>> > explicitly.
>> >
>> Are we talking about renaming stream_pixel to pixel only?
>> We divide clocks in categories: core, control and stream clock.
>> Similar terminology will be used in subsequent driver patches as well.
>>
>> We can remove pixel_rcg use assigned clock parents property and remove
>> clk_set_parent
>> from driver.
>
> Cool. Using assigned clock parents is good.
>
>>
>> >> + "#clock-cells":
>> >> + const: 1
>> >> +
>> >> + vdda-1p2-supply:
>> >> + description: phandle to vdda 1.2V regulator node.
>> >> +
>> >> + vdda-0p9-supply:
>> >> + description: phandle to vdda 0.9V regulator node.
>> >> +
>> >> + data-lanes = <0 1>:
>> >
>> > Is this correct? We can have = <value> in the property name? Also feels
>> > generic and possibly should come from the phy binding instead of from
>> > the controller binding.
>> >
>> We are using this property in DP controller programming sequence such
>> as
>> link training.
>> So I think we can keep this here.
>> You are right about <value>. <0 1> part should be in example only. It
>> was passing through dt_binding_check though.
>> Here it should be like:
>> data-lanes:
>> minItems:1
>> maxItems:4
>
> Ok.
>
>>
>> >> + type: object
>> >> + description: Maximum number of lanes that can be used for Display
>> >> port.
>> >> +
>> >> + ports:
>> >> + description: |
>> >> + Contains display port controller endpoint subnode.
>> >> + remote-endpoint: |
>> >> + For port@0, set to phandle of the connected panel/bridge's
>> >> + input endpoint. For port@1, set to the DPU interface output.
>> >> + Documentation/devicetree/bindings/graph.txt and
>> >> +
>> >> Documentation/devicetree/bindings/media/video-interfaces.txt.
>> >> +
>> >> +patternProperties:
>> >> + "^aux-cfg([0-9])-settings$":
>> >> + type: object
>> >> + description: |
>> >> + Specifies the DP AUX configuration [0-9] settings.
>> >> + The first entry in this array corresponds to the register
>> >> offset
>> >> + within DP AUX, while the remaining entries indicate the
>> >> + programmable values.
>> >
>> > I'd prefer this was removed from the binding and hardcoded in the
>> > driver
>> > until we can understand what the values are. If they're not
>> > understandable then they most likely don't change and should be done in
>> > the driver.
>> >
>> Typically customers tune these values by working with vendor. So for
>> different boards it can be different. Even though it is hard for
>> customers to do this themselves, these are still board specific and
>> belong to dts. As requested earlier, we have added default values
>> already and made these properties optional but, we would like to keep
>> it
>> in bindings so we can have option to tune them as required.
>
> If they're in the binding then they should make sense instead of just
> being random values. So please move the defaults to the driver and
> have human understandable DT properties to tune these settings. This
> has
> been done for the qcom USB phy already (see things like
> qcom,hstx-trim-value for example).
>
Ok. For now I will move these values to driver and later we will add dt
properties as required.
>> >> +
>> >> +required:
>> >> + - compatible
>> >> + - cell-index
>> >> + - reg
>> >> + - interrupts
>> >> + - clocks
>> >> + - clock-names
>> >> + - vdda-1p2-supply
>> >> + - vdda-0p9-supply
>> >> + - data-lanes
>> >> + - ports
>> >> +
>> >> +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>
>> >> + msm_dp: displayport-controller@ae90000{
>> >> + compatible = "qcom,dp-display";
>> >> + cell-index = <0>;
>> >> + reg = <0 0xae90000 0 0x1400>;
>> >> + reg-names = "dp_controller";
>> >> +
>> >> + interrupt-parent = <&display_subsystem>;
>> >> + interrupts = <12 0>;
>> >> +
>> >> + clocks = <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
>> >> + <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
>> >> + <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
>> >> + <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>,
>> >> + <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
>> >> + clock-names = "core_aux",
>> >> + "ctrl_link",
>> >> + "ctrl_link_iface", "stream_pixel",
>> >> + "pixel_rcg";
>> >> + #clock-cells = <1>;
>> >> +
>> >> + vdda-1p2-supply = <&vreg_l3c_1p2>;
>> >> + vdda-0p9-supply = <&vreg_l4a_0p8>;
>> >> +
>> >> + data-lanes = <0 1>;
>> >> +
>> >> + ports {
>> >> + #address-cells = <1>;
>> >> + #size-cells = <0>;
>> >> +
>> >> + port@0 {
>> >> + reg = <0>;
>> >> + dp_in: endpoint {
>> >> + remote-endpoint = <&dpu_intf0_out>;
>> >> + };
>> >> + };
>> >> +
>> >> + port@1 {
>> >> + reg = <1>;
>> >> + dp_out: endpoint {
>> >> + };
>> >> + };
>> >> + };
>> >> + };
>> >
>> > I believe there should be a '...' here.
>> I think you mean signature is missing? If not could you please
>> explain?
>
> No I mean there should be a triple dot at the end.
next prev parent reply other threads:[~2020-06-16 22:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-09 3:38 [PATCH v6 1/5] dt-bindings: msm/dp: add bindings of DP/DP-PLL driver for Snapdragon Tanmay Shah
2020-06-10 2:15 ` Stephen Boyd
2020-06-11 20:07 ` tanmay
2020-06-16 10:55 ` Stephen Boyd
2020-06-16 22:30 ` tanmay [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-06-12 1:50 [PATCH v6 0/5] Add support for DisplayPort driver on Tanmay Shah
2020-06-12 1:50 ` [PATCH v6 1/5] dt-bindings: msm/dp: add bindings of DP/DP-PLL driver for Snapdragon Tanmay Shah
2020-06-12 16:21 ` Rob Herring
2020-06-16 11:15 ` Stephen Boyd
2020-06-17 15:38 ` Rob Herring
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=339dea7850113f9721a1761e31902af5@codeaurora.org \
--to=tanmay@codeaurora.org \
--cc=abhinavk@codeaurora.org \
--cc=chandanu@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=nganji@codeaurora.org \
--cc=robdclark@gmail.com \
--cc=sam@ravnborg.org \
--cc=seanpaul@chromium.org \
--cc=swboyd@chromium.org \
--cc=varar@codeaurora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).