[PATCH 01/11] dt-bindings: display: meson-dw-hdmi: Add compatible for S4 HDMI controller
Ao Xu
ao.xu at amlogic.com
Thu Dec 4 23:09:47 PST 2025
Hi Piotr,
I applied this
patch: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.18/files/0312-drm-meson-add-vpu-clk-setting-for-S4.patch, and
ran it on the board.
I encountered the same issue—the system froze.
I found that the patch has a few minor problems. After fixing them,
the system runs normally. Could you try the following patch?
在 2025/12/3 13:56, Ao Xu 写道:
> Hi Piotr,
>
> I will need about two more days to look into it. I will follow up
> with you ASAP.
>
>
> 在 2025/12/2 16:29, Piotr Oniszczuk 写道:
>> [You don't often get email from piotr.oniszczuk at gmail.com. Learn why
>> this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>
>> [ EXTERNAL EMAIL ]
>>
>> Ao,
>> Any chance for updated s4 hdmi series for 6.18?
>>
>>
>>> Wiadomość napisana przez Ao Xu <ao.xu at amlogic.com> w dniu 21 lis
>>> 2025, o godz. 03:55:
>>>
>>> Hi Piotr,
>>>
>>> I will check this issue
>>>
>>> 在 2025/11/19 18:27, Piotr Oniszczuk 写道:
>>>> [You don't often get email from piotr.oniszczuk at gmail.com. Learn
>>>> why this is important at
>>>> https://aka.ms/LearnAboutSenderIdentification ]
>>>>
>>>> [ EXTERNAL EMAIL ]
>>>>
>>>> Pls see inline
>>>>
>>>>> Wiadomość napisana przez Chuan Liu <chuan.liu at amlogic.com> w dniu
>>>>> 19 lis 2025, o godz. 03:57:
>>>>>
>>>>> Hi Piotr,
>>>>>
>>>>>
>>>>> On 11/18/2025 10:50 PM, Piotr Oniszczuk wrote:
>>>>>> [You don't often get email from piotr.oniszczuk at gmail.com. Learn
>>>>>> why this is important at
>>>>>> https://aka.ms/LearnAboutSenderIdentification ]
>>>>>> [ EXTERNAL EMAIL ]
>>>>>> Ao,
>>>>>> Is there any chance to get this s4 drm hdmi series for current 6.18?
>>>>>> (i tried backport this series to 6.18 but have some issues with
>>>>>> reparent vpu_0_sel to sysclk_b_sel)
>>>>> Why do we need to reparent vpu_0_sel to sysclk_b_sel? is there any
>>>>> background here?
>>>> Well - it looks it is because bug....
>>>> Martin Blumenstingl had perfect eye and catch typo in patch
>>>> https://lore.kernel.org/all/20250110-drm-s4-v1-11-cbc2d5edaae8@amlogic.com/:
>>>>
>>>>
>>>> By replacing:
>>>> assigned-clock-parents = <&clkc_periphs CLKID_FCLK_DIV3>,
>>>> <0>, /* Do Nothing */
>>>> <&clkc_periphs CLKID_VPU_0>,
>>>> <&clkc_periphs CLKID_FCLK_DIV4>,
>>>> <0>, /* Do Nothing */
>>>> <&clkc_periphs CLKID_VAPB_0>;
>>>>
>>>> with:
>>>> assigned-clock-parents = <&clkc_pll CLKID_FCLK_DIV3>,
>>>> <0>, /* Do Nothing */
>>>> <&clkc_periphs CLKID_VPU_0>,
>>>> <&clkc_pll CLKID_FCLK_DIV4>,
>>>> <0>, /* Do Nothing */
>>>> <&clkc_periphs CLKID_VAPB_0>;
>>>>
>>>> dmesg is like this https://termbin.com/6020
>>>>
>>>> So i'm getting hdmi working - but only when device boots _without_
>>>> connected hdmi at boot (and connected later)
>>>> If hdmi is connected at boot - boot hangs at:
>>>>
>>>> 0.341676] meson-dw-hdmi fe300000.hdmi-tx: Detected HDMI TX
>>>> controller v2.01a with HDCP (meson_dw_hdmi_phy)
>>>> [ 0.342750] meson-dw-hdmi fe300000.hdmi-tx: registered
>>>> DesignWare HDMI I2C bus driver
>>>> [ 0.343660] meson-drm ff000000.vpu: bound fe300000.hdmi-tx (ops
>>>> meson_dw_hdmi_ops)
>>>> [ 0.344832] [drm] Initialized meson 1.0.0 for ff000000.vpu on
>>>> minor 0
>>>>
>>>> FYI: It is after applying
>>>> https://patchwork.kernel.org/project/linux-amlogic/cover/20250110-drm-s4-v1-0-cbc2d5edaae8@amlogic.com/
>>>> on mainline 6.18 (with some my adjustments on this series required
>>>> by changes in 6.18).
>>>> For VPU clk changes see
>>>> https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.18/files/0312-drm-meson-add-vpu-clk-setting-for-S4.patch
>>>> It is 6.18 adaptation of
>>>> https://patchwork.kernel.org/project/linux-amlogic/patch/20250110-drm-s4-v1-9-cbc2d5edaae8@amlogic.com/
>>>>
>>>> As kernel hangs - i have limited caps to drill where root cause is.
>>>>
>>>> Maybe above hang is reason of my backports or missing any pre-req
>>>> required to get s4 drm working?
>>>> Anyway - it will be good to test with updated to 6.18 series of Add
>>>> DRM support for Amlogic S4 (plus info about any pre-req required to
>>>> get s4 drm working)
>>>>
>>>>
>>>>> The vpu_clk on S4 doesn't support sysclk_b_sel as one of its
>>>>> selectable clock sources, so this reparent operation will definitely
>>>>> fail. This has nothing to do with the kernel version.
>>>>>
>>>>>>> Wiadomość napisana przez Ao Xu via B4 Relay
>>>>>>> <devnull+ao.xu.amlogic.com at kernel.org> w dniu 10 sty 2025, o
>>>>>>> godz. 06:39:
>>>>>>>
>>>>>>> From: Ao Xu <ao.xu at amlogic.com>
>>>>>>>
>>>>>>> Add devicetree document for S4 HDMI controller
>>>>>>>
>>>>>>> Signed-off-by: Ao Xu <ao.xu at amlogic.com>
>>>>>>> ---
>>>>>>> Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
>>>>>>> | 1 +
>>>>>>> 1 file changed, 1 insertion(+)
>>>>>>>
>>>>>>> diff --git
>>>>>>> a/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
>>>>>>> b/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
>>>>>>>
>>>>>>> index
>>>>>>> 84d68b8cfccc86fd87a6a0fd2b70af12e51eb8a4..6e0a8369eee915fab55af24d450a6c40e08def38
>>>>>>> 100644
>>>>>>> ---
>>>>>>> a/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
>>>>>>>
>>>>>>> +++
>>>>>>> b/Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
>>>>>>>
>>>>>>> @@ -55,6 +55,7 @@ properties:
>>>>>>> - const: amlogic,meson-gx-dw-hdmi
>>>>>>> - enum:
>>>>>>> - amlogic,meson-g12a-dw-hdmi # G12A (S905X2, S905Y2,
>>>>>>> S905D2)
>>>>>>> + - amlogic,meson-s4-dw-hdmi # S4 (S905Y4)
>>>>>>>
>>>>>>> reg:
>>>>>>> maxItems: 1
>>>>>>>
>>>>>>> --
>>>>>>> 2.43.0
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> linux-amlogic mailing list
>>>>>>> linux-amlogic at lists.infradead.org
>>>>>>> http://lists.infradead.org/mailman/listinfo/linux-amlogic
>>>>>> _______________________________________________
>>>>>> linux-amlogic mailing list
>>>>>> linux-amlogic at lists.infradead.org
>>>>>> http://lists.infradead.org/mailman/listinfo/linux-amlogic
-------------- next part --------------
Index: linux-next/meson_vclk.c
===================================================================
--- linux-next.orig/meson_vclk.c 2025-12-05 14:58:29.031454174 +0800
+++ linux-next/meson_vclk.c 2025-12-05 15:00:34.935204219 +0800
@@ -597,11 +597,11 @@
.vclk_div = 1,
},
[MESON_VCLK_HDMI_27000] = {
- .pll_freq = 4320000,
- .phy_freq = 270000,
- .vclk_freq = 54000,
- .venc_freq = 27000,
- .pixel_freq = 27000,
+ .pll_freq = 4320000000,
+ .phy_freq = 270000000,
+ .vclk_freq = 54000000,
+ .venc_freq = 27000000,
+ .pixel_freq = 27000000,
.pll_od1 = 4,
.pll_od2 = 4,
.pll_od3 = 1,
@@ -1148,15 +1148,15 @@
meson_hdmi_pll_set_params(priv, m, frac, od1, od2, od3);
} else if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_S4)) {
switch (pll_base_freq) {
- case 2970000:
+ case 2970000000:
m = 0x7b;
frac = vic_alternate_clock ? 0x140b4 : 0x18000;
break;
- case 4320000:
+ case 4320000000:
m = vic_alternate_clock ? 0xb3 : 0xb4;
frac = vic_alternate_clock ? 0x1a3ee : 0;
break;
- case 5940000:
+ case 5940000000:
m = 0xf7;
frac = vic_alternate_clock ? 0x8148 : 0x10000;
break;
More information about the linux-arm-kernel
mailing list