[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <730ff342-9a9a-4a3f-b93e-0ad3ce414700@rock-chips.com>
Date: Fri, 27 Dec 2024 16:54:10 +0800
From: Damon Ding <damon.ding@...k-chips.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: heiko@...ech.de, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, rfoss@...nel.org, vkoul@...nel.org,
sebastian.reichel@...labora.com, cristian.ciocaltea@...labora.com,
l.stach@...gutronix.de, andy.yan@...k-chips.com, hjc@...k-chips.com,
algea.cao@...k-chips.com, kever.yang@...k-chips.com,
dri-devel@...ts.freedesktop.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-phy@...ts.infradead.org
Subject: Re: [PATCH v3 14/15] arm64: dts: rockchip: Enable eDP0 display on
RK3588S EVB1 board
Hi Dmitry,
On 2024/12/27 4:26, Dmitry Baryshkov wrote:
> On Wed, 25 Dec 2024 at 11:34, Damon Ding <damon.ding@...k-chips.com> wrote:
>>
>> Hi Dmitry,
>>
>> On 2024/12/20 13:38, Dmitry Baryshkov wrote:
>>> On Fri, 20 Dec 2024 at 04:38, Damon Ding <damon.ding@...k-chips.com> wrote:
>>>>
>>>> Hi Dmitry,
>>>>
>>>> On 2024/12/20 8:20, Dmitry Baryshkov wrote:
>>>>> On Thu, Dec 19, 2024 at 04:06:03PM +0800, Damon Ding wrote:
>>>>>> Add the necessary DT changes to enable eDP0 on RK3588S EVB1 board:
>>>>>> - Add edp-panel node
>>>>>> - Set pinctrl of pwm12 for backlight
>>>>>> - Enable edp0/hdptxphy0/vp2
>>>>>>
>>>>>> Signed-off-by: Damon Ding <damon.ding@...k-chips.com>
>>>>>>
>>>>>> ---
>>>>>>
>>>>>> Changes in v2:
>>>>>> - Remove brightness-levels and default-brightness-level properties in
>>>>>> backlight node.
>>>>>> - Add the detail DT changes to commit message.
>>>>>>
>>>>>> Changes in v3:
>>>>>> - Use aux-bus instead of platform bus for edp-panel.
>>>>>> ---
>>>>>> .../boot/dts/rockchip/rk3588s-evb1-v10.dts | 52 +++++++++++++++++++
>>>>>> 1 file changed, 52 insertions(+)
>>>>>>
>>>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
>>>>>> index bc4077575beb..9547ab18e596 100644
>>>>>> --- a/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
>>>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-evb1-v10.dts
>>>>>> @@ -9,6 +9,7 @@
>>>>>> #include <dt-bindings/gpio/gpio.h>
>>>>>> #include <dt-bindings/input/input.h>
>>>>>> #include <dt-bindings/pinctrl/rockchip.h>
>>>>>> +#include <dt-bindings/soc/rockchip,vop2.h>
>>>>>> #include <dt-bindings/usb/pd.h>
>>>>>> #include "rk3588s.dtsi"
>>>>>>
>>>>>> @@ -238,6 +239,41 @@ &combphy2_psu {
>>>>>> status = "okay";
>>>>>> };
>>>>>>
>>>>>> +&edp0 {
>>>>>> + force-hpd;
>>>>>> + status = "okay";
>>>>>> +
>>>>>> + aux-bus {
>>>>>> + panel {
>>>>>> + compatible = "lg,lp079qx1-sp0v";
>>>>>
>>>>> Why do you need the particular compat string here? Can you use the
>>>>> generic "edp-panel" instead? What if the user swaps the panel?
>>>>>
>>>>
>>>> The eDP panels used in conjunction with the RK3588S EVB1 have broken
>>>> identification, which is one of the valid reasons for using a particular
>>>> compat string. So the generic_edp_panel_probe() can not return success
>>>> when using the "edp-panel".
>>>
>>> Broken how? I don't see such info in the commit message.
>>>
>>
>> The log related to the broken identification may be like:
>>
>> [ 0.623793] panel-simple-dp-aux aux-fdec0000.edp: Unknown panel ETC
>> 0x0000, using conservative timings
>
> According to [1] the ETC / 0x0000 is a correct identification for that
> panel. I'd suggest adding the timings to the driver instead.
>
> [1] https://www.elecok.com/data_sheet/107657/LP079QX1-SP0V_7.9%22_a-Si_TFT-LCD%2CPanel_for_LG_Display(EN).pdf?download=true
>
Do you mean adding the LP079QX1-SP0V to the struct edp_panel_entry
edp_panels[]?
While verifying the 'edp-panel'compatible, I have found some bugs
related to the process of getting edp panel from the DP AUX bus in PATCH
v4 series. Consequently, the commits concerning the analogix dp drivers
are not good.
I will fix the unexpected bugs in the next version(v5).
>>
>> The eDP panel used in RK3588S EVB1 is indeed the LP079QX1_SP0V model, it
>> should be also reasonable to use the "lg,lp079qx1-sp0v".
>>
>> And I will mention all of the above in the commit message for the next
>> version.
>>
>>>>
>>>>>> + backlight = <&backlight>;
>>>>>> + power-supply = <&vcc3v3_lcd_edp>;
>>>>>> +
>>>>>> + port {
>>>>>> + panel_in_edp: endpoint {
>>>>>> + remote-endpoint = <&edp_out_panel>;
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> + };
>>>>>> +};
>>>>>> +
>>>>>> +&edp0_in {
>>>>>> + edp0_in_vp2: endpoint {
>>>>>> + remote-endpoint = <&vp2_out_edp0>;
>>>>>> + };
>>>>>> +};
>>>>>> +
>>>>>> +&edp0_out {
>>>>>> + edp_out_panel: endpoint {
>>>>>> + remote-endpoint = <&panel_in_edp>;
>>>>>> + };
>>>>>> +};
>>>>>> +
>>>>>> +&hdptxphy0 {
>>>>>> + status = "okay";
>>>>>> +};
>>>>>> +
>>>>>> &i2c3 {
>>>>>> status = "okay";
>>>>>>
>>>>>> @@ -399,6 +435,7 @@ usbc0_int: usbc0-int {
>>>>>> };
>>>>>>
>>>>>> &pwm12 {
>>>>>> + pinctrl-0 = <&pwm12m1_pins>;
>>>>>> status = "okay";
>>>>>> };
>>>>>>
>>>>>> @@ -1168,3 +1205,18 @@ usbdp_phy0_dp_altmode_mux: endpoint@1 {
>>>>>> };
>>>>>> };
>>>>>> };
>>>>>> +
>>>>>> +&vop_mmu {
>>>>>> + status = "okay";
>>>>>> +};
>>>>>> +
>>>>>> +&vop {
>>>>>> + status = "okay";
>>>>>> +};
>>>>>> +
>>>>>> +&vp2 {
>>>>>> + vp2_out_edp0: endpoint@...KCHIP_VOP2_EP_EDP0 {
>>>>>> + reg = <ROCKCHIP_VOP2_EP_EDP0>;
>>>>>> + remote-endpoint = <&edp0_in_vp2>;
>>>>>> + };
>>>>>> +};
>>>>>> --
>>>>>> 2.34.1
>>>>>>
Best regards
Damon
Powered by blists - more mailing lists