From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66980352009 for ; Wed, 15 Jul 2026 19:47:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784144876; cv=none; b=V8fmQ2fDFzERAE7GhFa3KGBG33C+OYwz7flyl0m9aG2qCHraZdqHaYZeLs8gk59ewCWmVXO5e17Ry7lnGRtOMW0ktHAZdTcy0d09tni/Uw2U6kcXSHTJxqdUKGX4bV2SXjf6NvuftyXYD6218okDp+S57hsLG3Bj+Fp45o21/o0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784144876; c=relaxed/simple; bh=AQ2mAEPbzm04qOGxYXD+C5edEWnqOz9w1cgF2xpS6xI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Og0ir7zTBxeFhh98ubdk/7lpY6FQzRMOspspAeamVjTiKolAuuXSgvkuWyyTKj/Wj6/xA9mmi/j9v0waRRN7Y3uTP0DhC5S3q916dYW6ICVA6armo6b5nS50dy/Ip+z/dY8Vei4Kjs67XMJgN16Aj2JlKAEiQK1wTpdVVvQldXg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=rJoxSCXH; arc=none smtp.client-ip=209.85.219.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rJoxSCXH" Received: by mail-qv1-f41.google.com with SMTP id 6a1803df08f44-9034b6b7674so43822916d6.0 for ; Wed, 15 Jul 2026 12:47:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784144873; x=1784749673; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=KEXXjTtbWbMQrJ2ZliFeifCGsiHTYZZHXWoNLTa8NpU=; b=rJoxSCXHFcdsLztytxa/oK5XHs3LLUp69efB9zMFiCVcowdfhSRUcNdq4uYmiuP86W KE4BuEv4KadIeoYvjGxf9Oxkkg20PrtZhz/1JI/zC+RftS9op9ksoh3xTJo3XTf1F9AT 1A4L1f2sclIB1B4RrzXyrbk2K0jTJW7kgwEfU/7XbHCmlbSnhY4YLDirDgCx8QuqRqx4 d2nilcAn0IqeYf1wv9ouTmiX6xpYD2PdHLRHnxpthYukAs1aC6jC03iFSbeitmXLbHbv 0TiBP2JEwASNli4nhAEi50NrybswUlv/IVv/EiejUbs9mdZbzn0Cj1UT3Gf0eAeTelm8 krew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784144873; x=1784749673; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=KEXXjTtbWbMQrJ2ZliFeifCGsiHTYZZHXWoNLTa8NpU=; b=hEppca8UTNGDaW9RxRn73XZYZu64jpRsyendKv1lCDLCsqJYb0OxqbW+kFtee0OoLR Ifq4k0gGfG9qUNanXjzw3iEYpBHi7FZQTj8RV//64+8m2YxcDXLlX42MInDC5OZC6HEp 5rQU0Yqo8awJ0Xn61GGhf5gGTDWFrGJiZvpEf5IYLQjRhCcyJgo78ezBVcNFdOvOiIVL NnL3RoCPeC7F7MXBK4mBJx0I/N6joJc3lYfuD+UFddO/V9K4cw2yr6ImikFLBhFAvp3n 3Ts39Yu2bRSZWOE8HjN/tA1JmD/iC+1UecTU0zkxbYpbgU5X2T0ddkSq4VMJOTKOg2ak xZKg== X-Forwarded-Encrypted: i=1; AHgh+RpOl2xfZcmxOS4uNSTr4dBsUHJSJ0FysJIjY2f8afGc5FYKvTIfFTfIOVmwBwoUd6JGcDYmAXwDxUPfZIw=@vger.kernel.org X-Gm-Message-State: AOJu0YzG963OStnWgdBcdV01XQ8P0PWL+UBWVJ/3ENRCyERKtQsT3D7C F5vicAKGN1akwai4jmKvJL8K7+/fFuA57FCN/9LpLJV6ZgxBTTYj4kZ+uVlLvA== X-Gm-Gg: AfdE7cnipDhavOo4+wmL/ec4buYj9e1Sx2RjdKINxYiVxJDgPIExoo1YAFJrQ4knvBt o/oEPXgUqbf22Ucu+PBC9QfEEIGNMjTaVs97uGD5/oIeC8EpzgxiNxI+yVi0SD5oRw5foMuwPDk Vlrv2q3uSgozjMx2M7Qy35JmratXo/qycxBKHt6rpV1dTLLJZ2HEtq1gfsGC9jSU+YquxiTvxNv G5LCPu422X8NwGmvRA3/cI5kYWQXqfnpWuCIy51YRrpDxH8M/OhljM0Da4/Hz2roov4BCC+TMnR GinN16gdOQ+pn/8HnWvmdxaCvnek9T5SIwuVc8InXar6R4sA9TII3SSenNbGX+BXoJ5sliHkrzs nrO1gRKl4R8/c/AYEgZrTkg9Haqb2bD5sLMR6FpKW2k9kt1FAchenGO9MVsfakGk8Z4+MKSAeI0 JnoK9YOwdNgRrIYHfenx4kmJu3 X-Received: by 2002:a05:6214:c4c:b0:8ff:496e:1071 with SMTP id 6a1803df08f44-90747c2eeb4mr111182776d6.1.1784144873147; Wed, 15 Jul 2026 12:47:53 -0700 (PDT) Received: from localhost ([174.89.92.200]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8ffd87c8d4csm218276946d6.44.2026.07.15.12.47.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2026 12:47:52 -0700 (PDT) Date: Wed, 15 Jul 2026 15:47:41 -0400 From: Richard Acayan To: Dave Stevenson Cc: Sakari Ailus , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, David Heidelberg , Jacopo Mondi , devicetree@vger.kernel.org Subject: Re: [PATCH v4 02/21] media: i2c: imx355: Add support for 24 MHz external clock Message-ID: References: <20260715-media-imx355-v4-0-f7f966fb9ffd@raspberrypi.com> <20260715-media-imx355-v4-2-f7f966fb9ffd@raspberrypi.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260715-media-imx355-v4-2-f7f966fb9ffd@raspberrypi.com> On Wed, Jul 15, 2026 at 12:43:15PM +0100, Dave Stevenson wrote: > From: David Heidelberg > > The IMX355 sensor supports multiple external clock frequencies, > including 19.2 MHz and 24 MHz. The driver currently supports only > fixed 19.2 MHz input clock. > > Refactor the clock handling to make the PLL configuration dependent > on the external clock frequency and add support for 24 MHz. Introduce > a table of clock parameter sets and program the corresponding EXTCLK > frequency and PLL multipliers to maintain consistent internal VCO > frequencies across supported inputs. > > The PLL settings are adjusted so that OP VCO remains at 720 MHz > > This preserves existing timing characteristics while allowing systems > using a 24 MHz clock to operate correctly. > > No functional change for existing 19.2 MHz users. > > Assisted-by: Claude:claude-opus-4-6 > Signed-off-by: David Heidelberg > Signed-off-by: Dave Stevenson > --- > drivers/media/i2c/imx355.c | 77 +++++++++++++++++++++++++++------------------- > 1 file changed, 45 insertions(+), 32 deletions(-) > > diff --git a/drivers/media/i2c/imx355.c b/drivers/media/i2c/imx355.c > index ac59908f57aa..a6ee7532018f 100644 > --- a/drivers/media/i2c/imx355.c > +++ b/drivers/media/i2c/imx355.c (snip) > @@ -1749,7 +1756,13 @@ static int imx355_probe(struct i2c_client *client) > "failed to get clock\n"); > > freq = clk_get_rate(imx355->clk); > - if (freq != IMX355_EXT_CLK) > + for (unsigned int i = 0; i < ARRAY_SIZE(imx355_clk_params); i++) { Did we start allowing variable declarations mixed with code?