lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250928111321-GYB1346428@gentoo.org>
Date: Sun, 28 Sep 2025 19:13:21 +0800
From: Yixun Lan <dlan@...too.org>
To: Jesse T <mr.bossman075@...il.com>
Cc: Troy Mitchell <troy.mitchell@...ux.spacemit.com>,
	Andi Shyti <andi.shyti@...nel.org>, linux-i2c@...r.kernel.org,
	linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
	spacemit@...ts.linux.dev
Subject: Re: [PATCH v2] i2c: spacemit: configure ILCR for accurate SCL
 frequency

Hi Jesse,

On 23:37 Thu 17 Jul     , Jesse T wrote:
> On Thu, Jul 17, 2025 at 9:08 PM Troy Mitchell
> <troy.mitchell@...ux.spacemit.com> wrote:
> >
> > The SpacemiT I2C controller's SCL (Serial Clock Line) frequency for
> > master mode operations is determined by the ILCR (I2C Load Count Register).
> > Previously, the driver relied on the hardware's reset default
> > values for this register.
> >
> > The hardware's default ILCR values (SLV=0x156, FLV=0x5d) yield SCL
> > frequencies lower than intended. For example, with the default
> > 31.5 MHz input clock, these default settings result in an SCL
> > frequency of approximately 93 kHz (standard mode) when targeting 100 kHz,
> > and approximately 338 kHz (fast mode) when targeting 400 kHz.
> > These frequencies are below the 100 kHz/400 kHz nominal speeds.
> >
> > This patch integrates the SCL frequency management into
> > the Common Clock Framework (CCF). Specifically, the ILCR register,
> > which acts as a frequency divider for the SCL clock, is now registered
> > as a managed clock (scl_clk) within the CCF.
> >
> > This patch also cleans up unnecessary whitespace
> > in the included header files.
> >
> > Signed-off-by: Troy Mitchell <troy.mitchell@...ux.spacemit.com>
> > ---

..[snip]
> >
> > +static struct clk *spacemit_i2c_register_scl_clk(struct spacemit_i2c_dev *i2c,
> > +                                                struct clk *parent)
> > +{
> > +       struct clk_init_data init;
> > +       char name[32];
> > +
> > +       snprintf(name, sizeof(name), "%s_scl_clk", dev_name(i2c->dev));
> > +
> > +       init.name = name;
> > +       init.ops = &spacemit_i2c_clk_ops;
> > +       init.parent_data = (struct clk_parent_data[]) {
> > +               { .fw_name = "func" },
> 
> Is "func" a placeholder? Can we name it i2c_scl_clk?
> 
no, it's the parent clk of scl that need to request, which correspond to
the DT node 

      clocks = <&syscon_apbc CLK_TWSI8>,
                ..
      clock-names = "func", ..

-- 
Yixun Lan (dlan)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ