From: "Ondřej Jirman" <megi@xff.cz>
To: Javier Martinez Canillas <javierm@redhat.com>
Cc: linux-kernel@vger.kernel.org,
"Kamil Trzciński" <ayufan@ayufan.eu>,
"Martijn Braam" <martijn@brixit.nl>,
"Sam Ravnborg" <sam@ravnborg.org>,
"Robert Mader" <robert.mader@posteo.de>,
"Tom Fitzhenry" <tom@tom-fitzhenry.me.uk>,
"Peter Robinson" <pbrobinson@gmail.com>,
"Onuralp Sezer" <thunderbirdtr@fedoraproject.org>,
dri-devel@lists.freedesktop.org,
"Maya Matuszczyk" <maccraft123mc@gmail.com>,
"Neal Gompa" <ngompa13@gmail.com>,
linux-arm-kernel@lists.infradead.org,
"Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>,
"Jagan Teki" <jagan@amarulasolutions.com>,
"Caleb Connolly" <kc@postmarketos.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Rob Herring" <robh+dt@kernel.org>,
devicetree@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v4 4/4] arm64: dts: rk3399-pinephone-pro: Add internal display support
Date: Mon, 2 Jan 2023 11:57:46 +0100 [thread overview]
Message-ID: <20230102105746.5abnjzwf365c6hy2@core> (raw)
In-Reply-To: <e21b5c12-0cc0-5ec0-b2c6-9dde633d5e10@redhat.com>
Hello Javier,
On Sat, Dec 31, 2022 at 04:29:49PM +0100, Javier Martinez Canillas wrote:
> Hello Ondřej,
>
> Thanks a lot for your feedback.
>
> On 12/30/22 16:37, Ondřej Jirman wrote:
>
> [...]
>
> >> &i2c0 {
> >> clock-frequency = <400000>;
> >> i2c-scl-rising-time-ns = <168>;
> >> @@ -214,6 +251,9 @@ vcc3v0_touch: LDO_REG2 {
> >> regulator-name = "vcc3v0_touch";
> >> regulator-min-microvolt = <3000000>;
> >> regulator-max-microvolt = <3000000>;
> >> + regulator-state-mem {
> >> + regulator-off-in-suspend;
> >> + };
> >
> > You're instructing RK818 to shut down the regulator for touch controller during
> > suspend, but I think Goodix driver expects touch controller to be kept powered on
> > during suspend. Am I missing something?
> >
> > https://elixir.bootlin.com/linux/latest/source/drivers/input/touchscreen/goodix.c#L1405
> >
>
> You tell me, it is your patch :) I just cherry-picked this from your tree:
I have other patches to goodix driver that do power off the touch sensor chip
during sleep, so that it doesn't consume excessinve amounts of power when
the phone is suspended. Mainline doesn't. You have to adapt this to mainline,
because you're not upstreaming the required Goodix patches, for regulator-off-in-suspend
to not break things.
> https://github.com/megous/linux/commit/11f8da60d6a5
>
> But if that is not correct, then I can drop the regulator-off-in-suspend.
>
> [...]
>
> >> +
> >> + touchscreen@14 {
> >> + compatible = "goodix,gt917s";
> >
> > This is not the correct compatible. Pinephone Pro uses Goodix GT1158:
> >
> > Goodix-TS 3-0014: ID 1158, version: 0100
> > Goodix-TS 3-0014: Direct firmware load for goodix_1158_cfg.bin failed with error -2
> >
> >
>
> Same thing. I wasn't aware of this since your patch was using this compatible
> string. If "goodix,gt1158" is the correct compatible string, then I agree we
> should have that instead even when the firmware is missing. Because the DT is
> supposed to describe the hardware. The FW issue can be tackled as a follow-up.
>
> [...]
Yes, compatible string is sort of irrelevant, because the driver does runtime
auto-detection based on chip ID. I didn't bother with superficial issues in the
original code from Martijn/Kamil. Now that you're mainlining the code, this
should be sorted out, though.
There's no FW issue, I was just using the log to show you the actual chip ID the
driver detects.
(You should probably put my SoB after Kamil/Martijn, since I took the
maintenance/development of the driver after they wrote the base support
initially in secret. I'm not the original author of the code.)
> >> +
> >> +&vopb {
> >> + status = "okay";
> >> + assigned-clocks = <&cru DCLK_VOP0_DIV>, <&cru DCLK_VOP0>,
> >> + <&cru ACLK_VOP0>, <&cru HCLK_VOP0>;
> >> + assigned-clock-rates = <0>, <0>, <400000000>, <100000000>;
> >> + assigned-clock-parents = <&cru PLL_CPLL>, <&cru DCLK_VOP0_FRAC>;
> >> +};
> >
> > So here you're putting a fractional clock into path between CPLL -> VOP0_DIV
> > -> DCLK_VOP0_FRAC -> DCLK_VOP0.
> >
> > Fractional clocks require 20x difference between input and output rates, and
> > CPLL is 800Mhz IIRC, while you require 74.25MHz DCLK, so this will not work
> > correctly.
> >
> > Even if this somehow works by fractional clock being bypassed, I did not design
> > the panel mode to be used with CPLL's 800 MHz, but with GPLL frequecy of 594 MHz.
> >
> > GPLL 594/74.25 = 8 (integral divider without the need for fractional clock)
> > CPLL 800/74.25 = ~10.77441077441077441077
> >
> > If you really want to use fractional clock, you'd need to parent it to VPLL
> > and set VPLL really high, like close to 2GHz.
> >
>
> Thanks for the explanation. Then I just need to squash on top of this, the
> following patch. Is that correct?
>
> https://github.com/megous/linux/commit/f19ce7bb7d72
Yes, and test the driver more thoroughly:
- look at clk_summary to verify clock rate the kernel thinks it's using
- test refresh rate, somehow, to again verify the actual clock rate (kernel can
lie in debugfs)
- test power cycling the panel (eg. via system suspend/resume or other means)
thank you and kind regards,
o.
> --
> Best regards,
>
> Javier Martinez Canillas
> Core Platforms
> Red Hat
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-02 11:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-30 11:31 [PATCH v4 0/4] Add PinePhone Pro display support Javier Martinez Canillas
2022-12-30 11:31 ` [PATCH v4 1/4] dt-bindings: display: Add Himax HX8394 panel controller Javier Martinez Canillas
2022-12-30 11:31 ` [PATCH v4 2/4] drm: panel: Add Himax HX8394 panel controller driver Javier Martinez Canillas
2022-12-30 15:40 ` Ondřej Jirman
2022-12-31 15:15 ` Javier Martinez Canillas
2023-01-02 10:59 ` Ondřej Jirman
2023-01-02 13:51 ` Javier Martinez Canillas
2023-01-02 15:20 ` Ondřej Jirman
2023-01-02 18:51 ` Javier Martinez Canillas
2022-12-30 11:31 ` [PATCH v4 3/4] MAINTAINERS: Add entry for " Javier Martinez Canillas
2022-12-30 15:43 ` Ondřej Jirman
2022-12-31 15:16 ` Javier Martinez Canillas
2022-12-30 11:31 ` [PATCH v4 4/4] arm64: dts: rk3399-pinephone-pro: Add internal display support Javier Martinez Canillas
2022-12-30 15:37 ` Ondřej Jirman
2022-12-31 15:29 ` Javier Martinez Canillas
2023-01-02 10:57 ` Ondřej Jirman [this message]
2023-01-02 13:34 ` Javier Martinez Canillas
2023-01-01 21:21 ` [PATCH v4 0/4] Add PinePhone Pro " Pavel Machek
2023-01-02 9:44 ` Javier Martinez Canillas
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=20230102105746.5abnjzwf365c6hy2@core \
--to=megi@xff.cz \
--cc=ayufan@ayufan.eu \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=jagan@amarulasolutions.com \
--cc=javierm@redhat.com \
--cc=kc@postmarketos.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=maccraft123mc@gmail.com \
--cc=martijn@brixit.nl \
--cc=ngompa13@gmail.com \
--cc=pbrobinson@gmail.com \
--cc=robert.mader@posteo.de \
--cc=robh+dt@kernel.org \
--cc=sam@ravnborg.org \
--cc=thunderbirdtr@fedoraproject.org \
--cc=tom@tom-fitzhenry.me.uk \
/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