public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: "Luca Weiss" <luca.weiss@fairphone.com>
To: "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com>,
	"Luca Weiss" <luca.weiss@fairphone.com>,
	"Bartosz Golaszewski" <brgl@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Loic Poulain" <loic.poulain@oss.qualcomm.com>,
	"Robert Foss" <rfoss@kernel.org>,
	"Andi Shyti" <andi.shyti@kernel.org>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Konrad Dybcio" <konradybcio@kernel.org>
Cc: <~postmarketos/upstreaming@lists.sr.ht>,
	<phone-devel@vger.kernel.org>, <linux-i2c@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-msm@vger.kernel.org>
Subject: Re: [PATCH 4/4] arm64: dts: qcom: milos-fairphone-fp6: Add camera EEPROMs on CCI busses
Date: Fri, 13 Feb 2026 14:39:48 +0100	[thread overview]
Message-ID: <DGDVK13XN7OO.3I398MMB95Z8U@fairphone.com> (raw)
In-Reply-To: <44f65bb6-616c-4dd9-a7a1-ee62d5d217cb@oss.qualcomm.com>

On Mon Jan 19, 2026 at 11:42 AM CET, Konrad Dybcio wrote:
> On 1/16/26 3:54 PM, Luca Weiss wrote:
>> On Fri Jan 16, 2026 at 2:59 PM CET, Konrad Dybcio wrote:
>>> On 1/16/26 2:38 PM, Luca Weiss wrote:
>>>> Enable the CCI I2C busses and add nodes for the EEPROMs found on the
>>>> camera that are connected there.
>>>>
>>>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>>>> ---
>>>>  arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts | 50 ++++++++++++++++++++++++
>>>>  1 file changed, 50 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
>>>> index 7629ceddde2a..c4a706e945ba 100644
>>>> --- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
>>>> @@ -529,6 +529,56 @@ vreg_l11f: ldo11 {
>>>>  	};
>>>>  };
>>>>  
>>>> +&cci0 {
>>>> +	status = "okay";
>>>> +};
>>>> +
>>>> +&cci0_i2c0 {
>>>> +	/* Main cam: Sony IMX896 @ 0x1a */
>>>> +
>>>> +	eeprom@50 {
>>>> +		compatible = "puya,p24c128f", "atmel,24c128";
>>>> +		reg = <0x50>;
>>>> +		vcc-supply = <&vreg_l6p>;
>>>> +		read-only;
>>>> +	};
>>>> +
>>>> +	/* Dongwoon DW9784 VCM/OIS @ 0x72 */
>>>> +};
>>>> +
>>>> +
>>>> +&cci0_i2c1 {
>>>> +	/* Awinic AW86017 VCM @ 0x0c */
>>>> +	/* UW cam: OmniVision OV13B10 @ 0x36 */
>>>
>>> There's a driver for this one!
>> 
>> Yep! Already got patches to add the required regulators & devicetree
>> support to the driver, but since I've got zero on CAMSS so far, I
>> couldn't test it more than reading chip ID.
>
> That means the digital part works.. I'd say it's a good enough
> indicator
>
>>>> +
>>>> +	eeprom@52 {
>>>> +		compatible = "puya,p24c128f", "atmel,24c128";
>>>> +		reg = <0x52>;
>>>> +		vcc-supply = <&vreg_l6p>;
>>>> +		read-only;
>>>> +	};
>>>> +};
>>>> +
>>>> +&cci1 {
>>>> +	/* cci1_i2c0 is not used for CCI */
>>>> +	pinctrl-0 = <&cci1_1_default>;
>>>> +	pinctrl-1 = <&cci1_1_sleep>;
>>>
>>> Let's keep them per-bus-subnode so we don't have to override it
>> 
>> I don't see any upstream example of that, would the pinctrl work
>> correctly with that?
>
> Hmm.. I assumed it would.. and I assumed we do have examples but
> ma-a-aybe they got stuck somewhere in the review purgatory?
>
> If you'd be inclined to test that, you can add a pr_err() to e.g.
> msm_pinmux_set_mux() and observe whether that changes as you
> interact with the sensor over i2c

Yeah that doesn't work. With the following diff I just get some CCI
timeouts and at24 driver doesn't probe correctly. I'd prefer not to do
some yak shaving to get this patch upstream.

Regards
Luca

diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
index b6cd95fc294e..9f9410615aea 100644
--- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
+++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts
@@ -671,10 +671,6 @@ eeprom@52 {
 };
 
 &cci1 {
-	/* cci1_i2c0 is not used for CCI */
-	pinctrl-0 = <&cci1_1_default>;
-	pinctrl-1 = <&cci1_1_sleep>;
-
 	status = "okay";
 };
 
diff --git a/arch/arm64/boot/dts/qcom/milos.dtsi b/arch/arm64/boot/dts/qcom/milos.dtsi
index adf050600a4e..a2438cf60271 100644
--- a/arch/arm64/boot/dts/qcom/milos.dtsi
+++ b/arch/arm64/boot/dts/qcom/milos.dtsi
@@ -1755,9 +1755,6 @@ cci0: cci@ac15000 {
 			clock-names = "soc_ahb",
 				      "cpas_ahb",
 				      "cci";
-			pinctrl-0 = <&cci0_0_default &cci0_1_default>;
-			pinctrl-1 = <&cci0_0_sleep &cci0_1_sleep>;
-			pinctrl-names = "default", "sleep";
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -1765,6 +1762,9 @@ cci0: cci@ac15000 {
 			cci0_i2c0: i2c-bus@0 {
 				reg = <0>;
 				clock-frequency = <1000000>;
+				pinctrl-0 = <&cci0_0_default>;
+				pinctrl-1 = <&cci0_0_sleep>;
+				pinctrl-names = "default", "sleep";
 				#address-cells = <1>;
 				#size-cells = <0>;
 			};
@@ -1772,6 +1772,9 @@ cci0_i2c0: i2c-bus@0 {
 			cci0_i2c1: i2c-bus@1 {
 				reg = <1>;
 				clock-frequency = <1000000>;
+				pinctrl-0 = <&cci0_1_default>;
+				pinctrl-1 = <&cci0_1_sleep>;
+				pinctrl-names = "default", "sleep";
 				#address-cells = <1>;
 				#size-cells = <0>;
 			};
@@ -1788,9 +1791,6 @@ cci1: cci@ac16000 {
 			clock-names = "soc_ahb",
 				      "cpas_ahb",
 				      "cci";
-			pinctrl-0 = <&cci1_0_default &cci1_1_default>;
-			pinctrl-1 = <&cci1_0_sleep &cci1_1_sleep>;
-			pinctrl-names = "default", "sleep";
 			status = "disabled";
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -1798,6 +1798,9 @@ cci1: cci@ac16000 {
 			cci1_i2c0: i2c-bus@0 {
 				reg = <0>;
 				clock-frequency = <1000000>;
+				pinctrl-0 = <&cci1_0_default>;
+				pinctrl-1 = <&cci1_0_sleep>;
+				pinctrl-names = "default", "sleep";
 				#address-cells = <1>;
 				#size-cells = <0>;
 			};
@@ -1805,6 +1808,9 @@ cci1_i2c0: i2c-bus@0 {
 			cci1_i2c1: i2c-bus@1 {
 				reg = <1>;
 				clock-frequency = <1000000>;
+				pinctrl-0 = <&cci1_1_default>;
+				pinctrl-1 = <&cci1_1_sleep>;
+				pinctrl-names = "default", "sleep";
 				#address-cells = <1>;
 				#size-cells = <0>;
 			};


  reply	other threads:[~2026-02-13 13:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-16 13:38 [PATCH 0/4] Add CCI support for Milos, enable on Fairphone (Gen. 6) Luca Weiss
2026-01-16 13:38 ` [PATCH 1/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C128F Luca Weiss
2026-01-16 13:58   ` Konrad Dybcio
2026-01-19 10:15   ` (subset) " Bartosz Golaszewski
2026-01-16 13:38 ` [PATCH 2/4] dt-bindings: i2c: qcom-cci: Document Milos compatible Luca Weiss
2026-01-17 11:54   ` Krzysztof Kozlowski
2026-01-20 13:18     ` Konrad Dybcio
2026-02-13 13:16       ` Luca Weiss
2026-03-13 10:43         ` Luca Weiss
2026-03-13 16:18           ` Dmitry Baryshkov
2026-03-16  8:03             ` Luca Weiss
2026-03-19 16:58               ` Krzysztof Kozlowski
2026-03-20  7:58                 ` Luca Weiss
2026-03-19 16:57   ` Krzysztof Kozlowski
2026-01-16 13:38 ` [PATCH 3/4] arm64: dts: qcom: milos: Add CCI busses Luca Weiss
2026-01-20 10:59   ` Konrad Dybcio
2026-01-16 13:38 ` [PATCH 4/4] arm64: dts: qcom: milos-fairphone-fp6: Add camera EEPROMs on " Luca Weiss
2026-01-16 13:59   ` Konrad Dybcio
2026-01-16 14:54     ` Luca Weiss
2026-01-19 10:42       ` Konrad Dybcio
2026-02-13 13:39         ` Luca Weiss [this message]
2026-02-17 12:42           ` Konrad Dybcio

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=DGDVK13XN7OO.3I398MMB95Z8U@fairphone.com \
    --to=luca.weiss@fairphone.com \
    --cc=andersson@kernel.org \
    --cc=andi.shyti@kernel.org \
    --cc=brgl@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=loic.poulain@oss.qualcomm.com \
    --cc=phone-devel@vger.kernel.org \
    --cc=rfoss@kernel.org \
    --cc=robh@kernel.org \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox