* [PATCH 1/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add CAM fixed-regulators
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
@ 2025-02-03 11:14 ` Danila Tikhonov
2025-02-03 11:14 ` [PATCH 2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F Danila Tikhonov
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Danila Tikhonov @ 2025-02-03 11:14 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, andersson, konradybcio
Cc: linux-i2c, devicetree, linux-kernel, linux-arm-msm, linux,
~postmarketos/upstreaming, Danila Tikhonov
Two regulators (GPIO 72 & 107) for the IMX766 sensor are missing here.
Without a driver, it's unclear if they're extra supplies or pwdn/power
GPIOs (labeled "custom" in the downstream kernel).
So add only those fixed regulators that are currently predictable for
camera sensors, camera EEPROMs and camera actuators.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
---
.../boot/dts/qcom/sm7325-nothing-spacewar.dts | 125 ++++++++++++++++++
1 file changed, 125 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
index a5cda478bd78..4f964e5d34da 100644
--- a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
+++ b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
@@ -253,6 +253,124 @@ vph_pwr: vph-pwr-regulator {
regulator-max-microvolt = <3700000>;
};
+ vreg_cam_vio_1p8: regulator-cam-vio {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_cam_vio_1p8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 49 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ /* Always-on prevents CCI bus timeouts */
+ regulator-always-on;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camf_vana_2p8: regulator-camf-vana {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camf_vana_2p8";
+
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+
+ gpio = <&tlmm 43 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camf_vdig_1p1: regulator-camf-vdig {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camf_vdig_1p1";
+
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+
+ gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_s8b_1p256>;
+ };
+
+ vreg_camu_vaf_1p8: regulator-camu-vaf {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camu_vaf_1p8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 71 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camu_vana_2p8: regulator-camu-vana {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camu_vana_2p8";
+
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&tlmm 68 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camu_vdig_1p1: regulator-camu-vdig {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camu_vdig_1p1";
+
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+
+ gpio = <&tlmm 50 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_s8b_1p256>;
+ };
+
+ vreg_camw_vaf_1p8: regulator-camw-vaf {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camw_vaf_1p8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 96 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camw_vana_2p8: regulator-camw-vana {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camw_vana_2p8";
+
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+
+ gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_bob>;
+ };
+
+ vreg_camw_vdig_1p1: regulator-camw-vdig {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_camw_vdig_1p1";
+
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+
+ gpio = <&tlmm 108 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vreg_s8b_1p256>;
+ };
+
// S2B is really ebi.lvl but it's there for supply map completeness sake.
vreg_s2b_0p7: smpa3-regulator {
compatible = "regulator-fixed";
@@ -714,6 +832,13 @@ vreg_bob: bob {
};
&cci0 {
+ /*
+ * cci0_i2c1 bus is unused and GPIO 71&72 are repurposed.
+ * So set only cci0_i2c0 pinctrl here.
+ */
+ pinctrl-0 = <&cci0_default>;
+ pinctrl-1 = <&cci0_sleep>;
+
status = "okay";
};
--
2.48.1
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
2025-02-03 11:14 ` [PATCH 1/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add CAM fixed-regulators Danila Tikhonov
@ 2025-02-03 11:14 ` Danila Tikhonov
2025-02-03 22:59 ` Rob Herring (Arm)
2025-02-03 11:14 ` [PATCH 3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E Danila Tikhonov
` (3 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Danila Tikhonov @ 2025-02-03 11:14 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, andersson, konradybcio
Cc: linux-i2c, devicetree, linux-kernel, linux-arm-msm, linux,
~postmarketos/upstreaming, Danila Tikhonov
Add the compatible for another 64Kb EEPROM from Puya.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
---
Documentation/devicetree/bindings/eeprom/at24.yaml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml
index c9e4afbdc448..e7496ece8ae9 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.yaml
+++ b/Documentation/devicetree/bindings/eeprom/at24.yaml
@@ -130,7 +130,9 @@ properties:
- const: giantec,gt24c32a
- const: atmel,24c32
- items:
- - const: onnn,n24s64b
+ - enum:
+ - onnn,n24s64b
+ - puya,p24c64f
- const: atmel,24c64
- items:
- enum:
--
2.48.1
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F
2025-02-03 11:14 ` [PATCH 2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F Danila Tikhonov
@ 2025-02-03 22:59 ` Rob Herring (Arm)
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring (Arm) @ 2025-02-03 22:59 UTC (permalink / raw)
To: Danila Tikhonov
Cc: linux, andersson, conor+dt, devicetree, konradybcio, brgl,
linux-kernel, krzk+dt, ~postmarketos/upstreaming, linux-i2c,
linux-arm-msm
On Mon, 03 Feb 2025 14:14:27 +0300, Danila Tikhonov wrote:
> Add the compatible for another 64Kb EEPROM from Puya.
>
> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
> ---
> Documentation/devicetree/bindings/eeprom/at24.yaml | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
2025-02-03 11:14 ` [PATCH 1/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add CAM fixed-regulators Danila Tikhonov
2025-02-03 11:14 ` [PATCH 2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F Danila Tikhonov
@ 2025-02-03 11:14 ` Danila Tikhonov
2025-02-03 22:59 ` Rob Herring (Arm)
2025-02-03 11:14 ` [PATCH 4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Enable camera EEPROMs Danila Tikhonov
` (2 subsequent siblings)
5 siblings, 1 reply; 9+ messages in thread
From: Danila Tikhonov @ 2025-02-03 11:14 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, andersson, konradybcio
Cc: linux-i2c, devicetree, linux-kernel, linux-arm-msm, linux,
~postmarketos/upstreaming, Danila Tikhonov
Add the compatible for another 128Kb EEPROM from Giantec.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
---
Documentation/devicetree/bindings/eeprom/at24.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml
index e7496ece8ae9..0ac68646c077 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.yaml
+++ b/Documentation/devicetree/bindings/eeprom/at24.yaml
@@ -136,6 +136,7 @@ properties:
- const: atmel,24c64
- items:
- enum:
+ - giantec,gt24p128e
- giantec,gt24p128f
- renesas,r1ex24128
- samsung,s524ad0xd1
--
2.48.1
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E
2025-02-03 11:14 ` [PATCH 3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E Danila Tikhonov
@ 2025-02-03 22:59 ` Rob Herring (Arm)
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring (Arm) @ 2025-02-03 22:59 UTC (permalink / raw)
To: Danila Tikhonov
Cc: conor+dt, ~postmarketos/upstreaming, linux-arm-msm, linux-i2c,
devicetree, andersson, linux-kernel, konradybcio, krzk+dt, brgl,
linux
On Mon, 03 Feb 2025 14:14:28 +0300, Danila Tikhonov wrote:
> Add the compatible for another 128Kb EEPROM from Giantec.
>
> Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
> ---
> Documentation/devicetree/bindings/eeprom/at24.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Enable camera EEPROMs
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
` (2 preceding siblings ...)
2025-02-03 11:14 ` [PATCH 3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E Danila Tikhonov
@ 2025-02-03 11:14 ` Danila Tikhonov
2025-02-05 8:59 ` (subset) [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Bartosz Golaszewski
2025-02-26 13:40 ` Bjorn Andersson
5 siblings, 0 replies; 9+ messages in thread
From: Danila Tikhonov @ 2025-02-03 11:14 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, andersson, konradybcio
Cc: linux-i2c, devicetree, linux-kernel, linux-arm-msm, linux,
~postmarketos/upstreaming, Danila Tikhonov
Configure the EEPROMs which are found on the different camera sensors on
this device.
The pull-up regulator for these I2C busses is vreg_cam_vio_1p8, the same
supply that powers VCC of all the EEPROMs.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
---
.../boot/dts/qcom/sm7325-nothing-spacewar.dts | 32 +++++++++++++++++--
1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
index 4f964e5d34da..0c89f7726865 100644
--- a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
+++ b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts
@@ -843,7 +843,15 @@ &cci0 {
};
&cci0_i2c0 {
- /* sony,imx471 (Front) */
+ /* D-PHY sony,imx471 (Front) @ 0x1a */
+
+ camf_p24c64f: eeprom@52 {
+ compatible = "puya,p24c64f",
+ "atmel,24c64";
+ reg = <0x52>;
+ vcc-supply = <&vreg_cam_vio_1p8>;
+ read-only;
+ };
};
&cci1 {
@@ -851,11 +859,29 @@ &cci1 {
};
&cci1_i2c0 {
- /* samsung,s5kjn1 (Rear-aux UW) */
+ /* actuator (For Ultra Wide sensor) @ 0xc */
+ /* D-PHY samsung,s5kjn1 (Ultra Wide) @ 0x2d */
+
+ camu_gt24p128e: eeprom@51 {
+ compatible = "giantec,gt24p128e",
+ "atmel,24c128";
+ reg = <0x51>;
+ vcc-supply = <&vreg_cam_vio_1p8>;
+ read-only;
+ };
};
&cci1_i2c1 {
- /* sony,imx766 (Rear Wide) */
+ /* actuator (For Wide sensor) @ 0xc */
+ /* C-PHY sony,imx766 (Wide) @ 0x10 */
+
+ camw_gt24p128e: eeprom@50 {
+ compatible = "giantec,gt24p128e",
+ "atmel,24c128";
+ reg = <0x50>;
+ vcc-supply = <&vreg_cam_vio_1p8>;
+ read-only;
+ };
};
&gcc {
--
2.48.1
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: (subset) [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
` (3 preceding siblings ...)
2025-02-03 11:14 ` [PATCH 4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Enable camera EEPROMs Danila Tikhonov
@ 2025-02-05 8:59 ` Bartosz Golaszewski
2025-02-26 13:40 ` Bjorn Andersson
5 siblings, 0 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2025-02-05 8:59 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, andersson, konradybcio, Danila Tikhonov
Cc: Bartosz Golaszewski, linux-i2c, devicetree, linux-kernel,
linux-arm-msm, linux, ~postmarketos/upstreaming
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Mon, 03 Feb 2025 14:14:25 +0300, Danila Tikhonov wrote:
> Nothing Phone (1) - sm7325-nothing-spacewar has three camera sensors:
> - Wide sony,imx766
> - Ultra wide samsung,s5kjn1
> - Front sony,imx471
> We tested the UW and Front cameras by hacking the IMX412 in our fork and
> they work as expected. Wide is a C-PHY sensor, so unfortunately we haven't
> tested it fully yet.
>
> [...]
Applied, thanks!
[2/4] dt-bindings: eeprom: at24: Add compatible for Puya P24C64F
commit: 78d9ee370ed33cd8b662981fe1f47cff7b4f0e43
[3/4] dt-bindings: eeprom: at24: Add compatible for Giantec GT24P128E
commit: 03480898cefe9cb5ba921dba9304703f7574b687
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: (subset) [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras
2025-02-03 11:14 [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Danila Tikhonov
` (4 preceding siblings ...)
2025-02-05 8:59 ` (subset) [PATCH 0/4] sm7325-nothing-spacewar: Preparing for the cameras Bartosz Golaszewski
@ 2025-02-26 13:40 ` Bjorn Andersson
5 siblings, 0 replies; 9+ messages in thread
From: Bjorn Andersson @ 2025-02-26 13:40 UTC (permalink / raw)
To: brgl, robh, krzk+dt, conor+dt, konradybcio, Danila Tikhonov
Cc: linux-i2c, devicetree, linux-kernel, linux-arm-msm, linux,
~postmarketos/upstreaming
On Mon, 03 Feb 2025 14:14:25 +0300, Danila Tikhonov wrote:
> Nothing Phone (1) - sm7325-nothing-spacewar has three camera sensors:
> - Wide sony,imx766
> - Ultra wide samsung,s5kjn1
> - Front sony,imx471
> We tested the UW and Front cameras by hacking the IMX412 in our fork and
> they work as expected. Wide is a C-PHY sensor, so unfortunately we haven't
> tested it fully yet.
>
> [...]
Applied, thanks!
[1/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add CAM fixed-regulators
commit: 542b34247f3a5aeb4d094b21522803448005685a
[4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Enable camera EEPROMs
commit: 588a6d006d640fde038d794bbf8db99a2cc2646f
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 9+ messages in thread