Re: [PATCH] arm64: dts: monaco: Fix CSI I2C controllers default bus frequency
Vladimir Zapolskiy <[email protected]>
| Newsgroups | org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
On 7/24/26 17:22, Hans de Goede wrote: > Hi, > > On 24-Jul-26 1:42 PM, Konrad Dybcio wrote: >> On 7/23/26 1:48 PM, Hans de Goede wrote: >>> 1 MHz is quite fast for an I2C bus and not necessarly reliable, change this >>> to 400 KHz which is a more reasonable default. >>> >>> Signed-off-by: Hans de Goede <[email protected]> >> >> >> I guess this is a question of what's more common among client >> devices. I assume you have some that aren't happy with 1 MHz? > > Looking at ACPI tables for many x86 devices 400 KHz is the standard, > with some devices going down to 100 KHz. 1 MHz is pretty much > unheard off. > > Note the official I2C spec is limited to 100 KHz anything faster then > that is an extension. > > My specific reason for submitting this patch is imx219 sensors on > Mona sometimes failing to initialize at 1MHz which is kinda to > be expected when going for 10x the I2C specification max value. > 1 MHz I2C bus speed is in the v3 of the I2C specification dated 2007, its name is Fast-mode Plus (Fm+), thus the statement above is invalid. As it's been said on the list recently likely the problem with sensor controls on a number of platforms is due to invalid setting of I2C bus speeds, e.g. out-of-spec 512 KHz I2C bus speed instead of wanted 1 MHz, or 204.8 KHz I2C bus speed instead of 400 KHz, which is done by this applied change. The list of affected platform .dtsi files is: * kodiak.dtsi * lemans.dtsi * milos.dtsi * monaco.dtsi * sc8280xp.dtsi * sdm670.dtsi * sm8250.dtsi * sm8450.dtsi * sm8550.dtsi * sm8650.dtsi * talos.dtsi An example of a "fix" (it's not a fix, but a simple workaround of the flaw in the driver) for SM8650 and other platforms can be like the one recently published: https://lore.kernel.org/linux-arm-msm/[email protected] -- Best wishes, Vladimir