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>;
};
next prev parent 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