All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Kocialkowski <paulk@sys-base.io>
To: Icenowy Zheng <uwu@icenowy.me>
Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Samuel Holland <samuel@sholland.org>,
	Icenowy Zheng <icenowy@aosc.xyz>,
	Maxime Ripard <mripard@kernel.org>
Subject: Re: [PATCH 1/2] clk: sunxi-ng: v3s: Fix de clock definition
Date: Sun, 6 Jul 2025 02:06:53 +0200	[thread overview]
Message-ID: <aGm-HRnhxAQmj8d9@collins> (raw)
In-Reply-To: <1d51b75f7b85ddb588bbb24366b36df63a60712e.camel@icenowy.me>

[-- Attachment #1: Type: text/plain, Size: 6808 bytes --]

Hi,

Le Sat 05 Jul 25, 14:38, Icenowy Zheng a écrit :
> 在 2025-07-04星期五的 23:52 +0200,Paul Kocialkowski写道:
> > Hi,
> > 
> > Le Fri 04 Jul 25, 23:54, Icenowy Zheng a écrit :
> > > 在 2025-07-04星期五的 17:40 +0200,Paul Kocialkowski写道:
> > > > The de clock is marked with CLK_SET_RATE_PARENT, which is really
> > > > not
> > > > necessary (as confirmed from experimentation) and significantly
> > > > restricts flexibility for other clocks using the same parent.
> > > 
> > > With it not setting parent, is arbitary pixel clocks still
> > > possible?
> > 
> > Absolutely and the clock tree is very much improved, I think the flag
> > was the
> > reason that was preventing it from naturally keeping the tcon and de
> > clocks
> > under the video pll in my case.
> > 
> > Now it can provide both the 33 Mhz for the pixel clock and runs the
> > mixer at
> > nearly 150 MHz. The video pll now runs at 297 MHz which is a perfect
> 
> Did you test other pixel clocks?
> 
> I suggest you to try a RGB-to-VGA bridge and test possible pixel clocks
> on the VGA port.

I don't have any such bridge and the V3/V3s boards I have would not easily
allow connecting such a display. But I would be glad if someone wants to test
the patch with such a setup.

Cheers,

Paul


> > fit for
> > csi-sclk camera main clock, so the algorithm is doing its job at its
> > best!
> > 
> > So this means that I no longer have to change the mixer clock to 297
> > MHz to
> > keep it under the video pll. It pretty much solves all my problems at
> > once.
> > 
> > Here is the relevant clk_summary extract:
> >     pll-video                        2       2        2       
> > 297000000   50000      0     50000      Y     
> > deviceless                      no_connection_id         
> >        csi-sclk                      0       0        3       
> > 297000000   50000      0     50000      N        
> > 1cb8000.isp                     mod                      
> >                                                                      
> >                                            
> > 1cb0000.camera                  mod                      
> >                                                                      
> >                                            
> > 1cb1000.csi                     mod                      
> >        tcon                          2       2        1       
> > 33000000    50000      0     50000      Y         1c0c000.lcd-
> > controller          tcon-ch0                 
> >           tcon-data-clock            1       1        1       
> > 33000000    50000      0     50000      Y           
> > deviceless                      no_connection_id         
> >        de                            2       2        0       
> > 297000000   50000      0     50000      Y        
> > 1000000.clock                   mod                      
> >           wb-div                     0       0        0       
> > 297000000   50000      0     50000      Y           
> > deviceless                      no_connection_id         
> >              wb                      0       0        0       
> > 297000000   50000      0     50000      N              
> > deviceless                      no_connection_id         
> >           mixer0-div                 1       1        0       
> > 148500000   50000      0     50000      Y           
> > deviceless                      no_connection_id         
> >              mixer0                  1       1        0       
> > 148500000   50000      0     50000      Y              
> > 1100000.mixer                   mod                      
> > 
> > Cheers,
> > 
> > Paul
> > 
> > > > 
> > > > In addition the source selection (parent) field is marked as
> > > > using
> > > > 2 bits, when it the documentation reports that it uses 3.
> > > > 
> > > > Fix both issues in the de clock definition.
> > > > 
> > > > Fixes: d0f11d14b0bc ("clk: sunxi-ng: add support for V3s CCU")
> > > > Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
> > > > ---
> > > >  drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 3 +--
> > > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
> > > > b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
> > > > index 52e4369664c5..df345a620d8d 100644
> > > > --- a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
> > > > +++ b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
> > > > @@ -347,8 +347,7 @@ static
> > > > SUNXI_CCU_GATE(dram_ohci_clk,        "dram-ohci",    "dram",
> > > >  
> > > >  static const char * const de_parents[] = { "pll-video", "pll-
> > > > periph0" };
> > > >  static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents,
> > > > -                                0x104, 0, 4, 24, 2, BIT(31),
> > > > -                                CLK_SET_RATE_PARENT);
> > > > +                                0x104, 0, 4, 24, 3, BIT(31), 0);
> > > >  
> > > >  static const char * const tcon_parents[] = { "pll-video", "pll-
> > > > periph0" };
> > > >  static SUNXI_CCU_M_WITH_MUX_GATE(tcon_clk, "tcon", tcon_parents,
> > > 
> > 
> 

-- 
Paul Kocialkowski,

Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/

Expert in multimedia, graphics and embedded hardware support with Linux.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2025-07-06  0:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-04 15:40 [PATCH 1/2] clk: sunxi-ng: v3s: Fix de clock definition Paul Kocialkowski
2025-07-04 15:40 ` [PATCH 2/2] clk: sunxi-ng: v3s: Assign the de and tcon clocks to the video pll Paul Kocialkowski
2025-07-04 15:54 ` [PATCH 1/2] clk: sunxi-ng: v3s: Fix de clock definition Icenowy Zheng
2025-07-04 21:52   ` Paul Kocialkowski
2025-07-05  6:38     ` Icenowy Zheng
2025-07-06  0:06       ` Paul Kocialkowski [this message]
2025-07-14  7:21 ` Chen-Yu Tsai

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=aGm-HRnhxAQmj8d9@collins \
    --to=paulk@sys-base.io \
    --cc=icenowy@aosc.xyz \
    --cc=jernej.skrabec@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=mripard@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=samuel@sholland.org \
    --cc=sboyd@kernel.org \
    --cc=uwu@icenowy.me \
    --cc=wens@csie.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.