* [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3
@ 2025-10-28 16:40 Luca Weiss
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
` (7 more replies)
0 siblings, 8 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Wolfram Sang, Konrad Dybcio
Add the compatibles and config for CCI on MSM8953, then enable these I2C
busses on Fairphone 3 and configure the EEPROM found with one of the
camera modules.
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
Changes in v2:
- Fix wrong placement of msm8953-cci in if in cci binding
- Rebase on linux-next
- Pick up tags
- Link to v1: https://lore.kernel.org/r/20250810-msm8953-cci-v1-0-e83f104cabfc@lucaweiss.eu
---
Luca Weiss (7):
dt-bindings: i2c: qcom-cci: Document msm8953 compatible
i2c: qcom-cci: Add msm8953 compatible
dt-bindings: eeprom: at24: Add compatible for Belling BL24S64
arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states
arm64: dts: qcom: msm8953: Add CCI nodes
arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators
arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM
Documentation/devicetree/bindings/eeprom/at24.yaml | 1 +
.../devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 +
arch/arm64/boot/dts/qcom/msm8953.dtsi | 668 +++++++++++----------
arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 57 ++
drivers/i2c/busses/i2c-qcom-cci.c | 46 ++
5 files changed, 468 insertions(+), 306 deletions(-)
---
base-commit: 7c0022eca56891cbc3d94cee91733c28568342bb
change-id: 20250808-msm8953-cci-587596df83da
Best regards,
--
Luca Weiss <luca@lucaweiss.eu>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-29 6:34 ` Krzysztof Kozlowski
` (2 more replies)
2025-10-28 16:40 ` [PATCH v2 2/7] i2c: qcom-cci: Add " Luca Weiss
` (6 subsequent siblings)
7 siblings, 3 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss
Add the msm8953 CCI device string compatible.
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
index 9bc99d736343..ef8f5fe3a8e1 100644
--- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
@@ -15,6 +15,7 @@ properties:
oneOf:
- enum:
- qcom,msm8226-cci
+ - qcom,msm8953-cci
- qcom,msm8974-cci
- qcom,msm8996-cci
@@ -146,6 +147,7 @@ allOf:
- contains:
enum:
- qcom,msm8916-cci
+ - qcom,msm8953-cci
- const: qcom,msm8996-cci
then:
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 2/7] i2c: qcom-cci: Add msm8953 compatible
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-11-04 18:25 ` Luca Weiss
2025-10-28 16:40 ` [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64 Luca Weiss
` (5 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Wolfram Sang
Add a config for the v1.2.5 CCI found on msm8953 which has different
values in .params compared to others already supported in the driver.
Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
drivers/i2c/busses/i2c-qcom-cci.c | 46 +++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c
index e631d79baf14..884055df1560 100644
--- a/drivers/i2c/busses/i2c-qcom-cci.c
+++ b/drivers/i2c/busses/i2c-qcom-cci.c
@@ -783,8 +783,54 @@ static const struct cci_data cci_v2_data = {
},
};
+static const struct cci_data cci_msm8953_data = {
+ .num_masters = 2,
+ .queue_size = { 64, 16 },
+ .quirks = {
+ .max_write_len = 11,
+ .max_read_len = 12,
+ },
+ .params[I2C_MODE_STANDARD] = {
+ .thigh = 78,
+ .tlow = 114,
+ .tsu_sto = 28,
+ .tsu_sta = 28,
+ .thd_dat = 10,
+ .thd_sta = 77,
+ .tbuf = 118,
+ .scl_stretch_en = 0,
+ .trdhld = 6,
+ .tsp = 1
+ },
+ .params[I2C_MODE_FAST] = {
+ .thigh = 20,
+ .tlow = 28,
+ .tsu_sto = 21,
+ .tsu_sta = 21,
+ .thd_dat = 13,
+ .thd_sta = 18,
+ .tbuf = 32,
+ .scl_stretch_en = 0,
+ .trdhld = 6,
+ .tsp = 3
+ },
+ .params[I2C_MODE_FAST_PLUS] = {
+ .thigh = 16,
+ .tlow = 22,
+ .tsu_sto = 17,
+ .tsu_sta = 18,
+ .thd_dat = 16,
+ .thd_sta = 15,
+ .tbuf = 19,
+ .scl_stretch_en = 1,
+ .trdhld = 3,
+ .tsp = 3
+ },
+};
+
static const struct of_device_id cci_dt_match[] = {
{ .compatible = "qcom,msm8226-cci", .data = &cci_v1_data},
+ { .compatible = "qcom,msm8953-cci", .data = &cci_msm8953_data},
{ .compatible = "qcom,msm8974-cci", .data = &cci_v1_5_data},
{ .compatible = "qcom,msm8996-cci", .data = &cci_v2_data},
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
2025-10-28 16:40 ` [PATCH v2 2/7] i2c: qcom-cci: Add " Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-29 6:32 ` Krzysztof Kozlowski
2025-10-28 16:40 ` [PATCH v2 4/7] arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states Luca Weiss
` (4 subsequent siblings)
7 siblings, 1 reply; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss
Add the compatible for an 64Kb EEPROM from Belling.
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
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 50af7ccf6e21..c21282634780 100644
--- a/Documentation/devicetree/bindings/eeprom/at24.yaml
+++ b/Documentation/devicetree/bindings/eeprom/at24.yaml
@@ -131,6 +131,7 @@ properties:
- const: atmel,24c32
- items:
- enum:
+ - belling,bl24s64
- onnn,n24s64b
- puya,p24c64f
- const: atmel,24c64
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 4/7] arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
` (2 preceding siblings ...)
2025-10-28 16:40 ` [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64 Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-28 16:40 ` [PATCH v2 5/7] arm64: dts: qcom: msm8953: Add CCI nodes Luca Weiss
` (3 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Konrad Dybcio
Follow the Devicetree Sources Coding Style and sort the pinctrl nodes by
the pins property. This makes it simpler to add new pinctrl states in
the future.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
arch/arm64/boot/dts/qcom/msm8953.dtsi | 611 +++++++++++++++++-----------------
1 file changed, 305 insertions(+), 306 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index 76317c578349..7884a3ed8aef 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -545,6 +545,20 @@ tlmm: pinctrl@1000000 {
interrupt-controller;
#interrupt-cells = <2>;
+ i2c_1_default: i2c-1-default-state {
+ pins = "gpio2", "gpio3";
+ function = "blsp_i2c1";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_1_sleep: i2c-1-sleep-state {
+ pins = "gpio2", "gpio3";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
uart_console_active: uart-console-active-state {
pins = "gpio4", "gpio5";
function = "blsp_uart2";
@@ -559,6 +573,297 @@ uart_console_sleep: uart-console-sleep-state {
bias-pull-down;
};
+ i2c_2_default: i2c-2-default-state {
+ pins = "gpio6", "gpio7";
+ function = "blsp_i2c2";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_2_sleep: i2c-2-sleep-state {
+ pins = "gpio6", "gpio7";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi_3_default: spi-3-default-state {
+ cs-pins {
+ pins = "gpio10";
+ function = "blsp_spi3";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio8", "gpio9", "gpio11";
+ function = "blsp_spi3";
+ drive-strength = <12>;
+ bias-disable;
+ };
+ };
+
+ spi_3_sleep: spi-3-sleep-state {
+ cs-pins {
+ pins = "gpio10";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio8", "gpio9", "gpio11";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ i2c_3_default: i2c-3-default-state {
+ pins = "gpio10", "gpio11";
+ function = "blsp_i2c3";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_3_sleep: i2c-3-sleep-state {
+ pins = "gpio10", "gpio11";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_4_default: i2c-4-default-state {
+ pins = "gpio14", "gpio15";
+ function = "blsp_i2c4";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_4_sleep: i2c-4-sleep-state {
+ pins = "gpio14", "gpio15";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi_5_default: spi-5-default-state {
+ cs-pins {
+ pins = "gpio18";
+ function = "blsp_spi5";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio16", "gpio17", "gpio19";
+ function = "blsp_spi5";
+ drive-strength = <12>;
+ bias-disable;
+ };
+ };
+
+ spi_5_sleep: spi-5-sleep-state {
+ cs-pins {
+ pins = "gpio18";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio16", "gpio17", "gpio19";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ uart_5_default: uart-5-default-state {
+ pins = "gpio16", "gpio17", "gpio18", "gpio19";
+ function = "blsp_uart5";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ uart_5_sleep: uart-5-sleep-state {
+ pins = "gpio16", "gpio17", "gpio18", "gpio19";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_5_default: i2c-5-default-state {
+ pins = "gpio18", "gpio19";
+ function = "blsp_i2c5";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_5_sleep: i2c-5-sleep-state {
+ pins = "gpio18", "gpio19";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi_6_default: spi-6-default-state {
+ cs-pins {
+ pins = "gpio22";
+ function = "blsp_spi6";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio20", "gpio21", "gpio23";
+ function = "blsp_spi6";
+ drive-strength = <12>;
+ bias-disable;
+ };
+ };
+
+ spi_6_sleep: spi-6-sleep-state {
+ cs-pins {
+ pins = "gpio22";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio20", "gpio21", "gpio23";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ i2c_6_default: i2c-6-default-state {
+ pins = "gpio22", "gpio23";
+ function = "blsp_i2c6";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_6_sleep: i2c-6-sleep-state {
+ pins = "gpio22", "gpio23";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wcnss_pin_a: wcnss-active-state {
+ wcss-wlan2-pins {
+ pins = "gpio76";
+ function = "wcss_wlan2";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ wcss-wlan1-pins {
+ pins = "gpio77";
+ function = "wcss_wlan1";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ wcss-wlan0-pins {
+ pins = "gpio78";
+ function = "wcss_wlan0";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+
+ wcss-wlan-pins {
+ pins = "gpio79", "gpio80";
+ function = "wcss_wlan";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ };
+
+ gpio_key_default: gpio-key-default-state {
+ pins = "gpio85";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ i2c_8_default: i2c-8-default-state {
+ pins = "gpio98", "gpio99";
+ function = "blsp_i2c8";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_8_sleep: i2c-8-sleep-state {
+ pins = "gpio98", "gpio99";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ sdc2_cd_on: cd-on-state {
+ pins = "gpio133";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ sdc2_cd_off: cd-off-state {
+ pins = "gpio133";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_7_default: i2c-7-default-state {
+ pins = "gpio135", "gpio136";
+ function = "blsp_i2c7";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ i2c_7_sleep: i2c-7-sleep-state {
+ pins = "gpio135", "gpio136";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi_7_default: spi-7-default-state {
+ cs-pins {
+ pins = "gpio136";
+ function = "blsp_spi7";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio135", "gpio137", "gpio138";
+ function = "blsp_spi7";
+ drive-strength = <12>;
+ bias-disable;
+ };
+ };
+
+ spi_7_sleep: spi-7-sleep-state {
+ cs-pins {
+ pins = "gpio136";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ spi-pins {
+ pins = "gpio135", "gpio137", "gpio138";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
sdc1_clk_on: sdc1-clk-on-state {
pins = "sdc1_clk";
bias-disable;
@@ -640,312 +945,6 @@ sdc2_data_off: sdc2-data-off-state {
bias-pull-up;
drive-strength = <2>;
};
-
- sdc2_cd_on: cd-on-state {
- pins = "gpio133";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- sdc2_cd_off: cd-off-state {
- pins = "gpio133";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- gpio_key_default: gpio-key-default-state {
- pins = "gpio85";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-up;
- };
-
- i2c_1_default: i2c-1-default-state {
- pins = "gpio2", "gpio3";
- function = "blsp_i2c1";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_1_sleep: i2c-1-sleep-state {
- pins = "gpio2", "gpio3";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_2_default: i2c-2-default-state {
- pins = "gpio6", "gpio7";
- function = "blsp_i2c2";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_2_sleep: i2c-2-sleep-state {
- pins = "gpio6", "gpio7";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_3_default: i2c-3-default-state {
- pins = "gpio10", "gpio11";
- function = "blsp_i2c3";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_3_sleep: i2c-3-sleep-state {
- pins = "gpio10", "gpio11";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_4_default: i2c-4-default-state {
- pins = "gpio14", "gpio15";
- function = "blsp_i2c4";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_4_sleep: i2c-4-sleep-state {
- pins = "gpio14", "gpio15";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_5_default: i2c-5-default-state {
- pins = "gpio18", "gpio19";
- function = "blsp_i2c5";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_5_sleep: i2c-5-sleep-state {
- pins = "gpio18", "gpio19";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_6_default: i2c-6-default-state {
- pins = "gpio22", "gpio23";
- function = "blsp_i2c6";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_6_sleep: i2c-6-sleep-state {
- pins = "gpio22", "gpio23";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_7_default: i2c-7-default-state {
- pins = "gpio135", "gpio136";
- function = "blsp_i2c7";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_7_sleep: i2c-7-sleep-state {
- pins = "gpio135", "gpio136";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_8_default: i2c-8-default-state {
- pins = "gpio98", "gpio99";
- function = "blsp_i2c8";
- drive-strength = <2>;
- bias-disable;
- };
-
- i2c_8_sleep: i2c-8-sleep-state {
- pins = "gpio98", "gpio99";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi_3_default: spi-3-default-state {
- cs-pins {
- pins = "gpio10";
- function = "blsp_spi3";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio8", "gpio9", "gpio11";
- function = "blsp_spi3";
- drive-strength = <12>;
- bias-disable;
- };
- };
-
- spi_3_sleep: spi-3-sleep-state {
- cs-pins {
- pins = "gpio10";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio8", "gpio9", "gpio11";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
- };
-
- spi_5_default: spi-5-default-state {
- cs-pins {
- pins = "gpio18";
- function = "blsp_spi5";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio16", "gpio17", "gpio19";
- function = "blsp_spi5";
- drive-strength = <12>;
- bias-disable;
- };
- };
-
- spi_5_sleep: spi-5-sleep-state {
- cs-pins {
- pins = "gpio18";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio16", "gpio17", "gpio19";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
- };
-
- spi_6_default: spi-6-default-state {
- cs-pins {
- pins = "gpio22";
- function = "blsp_spi6";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio20", "gpio21", "gpio23";
- function = "blsp_spi6";
- drive-strength = <12>;
- bias-disable;
- };
- };
-
- spi_6_sleep: spi-6-sleep-state {
- cs-pins {
- pins = "gpio22";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio20", "gpio21", "gpio23";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
- };
-
- spi_7_default: spi-7-default-state {
- cs-pins {
- pins = "gpio136";
- function = "blsp_spi7";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio135", "gpio137", "gpio138";
- function = "blsp_spi7";
- drive-strength = <12>;
- bias-disable;
- };
- };
-
- spi_7_sleep: spi-7-sleep-state {
- cs-pins {
- pins = "gpio136";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- spi-pins {
- pins = "gpio135", "gpio137", "gpio138";
- function = "gpio";
- drive-strength = <2>;
- bias-pull-down;
- };
- };
-
- uart_5_default: uart-5-default-state {
- pins = "gpio16", "gpio17", "gpio18", "gpio19";
- function = "blsp_uart5";
- drive-strength = <16>;
- bias-disable;
- };
-
- uart_5_sleep: uart-5-sleep-state {
- pins = "gpio16", "gpio17", "gpio18", "gpio19";
- function = "gpio";
- drive-strength = <2>;
- bias-disable;
- };
-
- wcnss_pin_a: wcnss-active-state {
-
- wcss-wlan2-pins {
- pins = "gpio76";
- function = "wcss_wlan2";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- wcss-wlan1-pins {
- pins = "gpio77";
- function = "wcss_wlan1";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- wcss-wlan0-pins {
- pins = "gpio78";
- function = "wcss_wlan0";
- drive-strength = <6>;
- bias-pull-up;
- };
-
- wcss-wlan-pins {
- pins = "gpio79", "gpio80";
- function = "wcss_wlan";
- drive-strength = <6>;
- bias-pull-up;
- };
- };
};
gcc: clock-controller@1800000 {
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 5/7] arm64: dts: qcom: msm8953: Add CCI nodes
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
` (3 preceding siblings ...)
2025-10-28 16:40 ` [PATCH v2 4/7] arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-28 16:40 ` [PATCH v2 6/7] arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators Luca Weiss
` (2 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Konrad Dybcio
Add the nodes for the camera I2C bus on the MSM8953 SoC.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
arch/arm64/boot/dts/qcom/msm8953.dtsi | 57 +++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index 7884a3ed8aef..753167c3f861 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -753,6 +753,20 @@ i2c_6_sleep: i2c-6-sleep-state {
bias-disable;
};
+ cci0_default: cci0-default-state {
+ pins = "gpio29", "gpio30";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cci1_default: cci1-default-state {
+ pins = "gpio31", "gpio32";
+ function = "cci_i2c";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
wcnss_pin_a: wcnss-active-state {
wcss-wlan2-pins {
pins = "gpio76";
@@ -1200,6 +1214,49 @@ mdss_dsi1_phy: phy@1a96400 {
};
};
+ cci: cci@1b0c000 {
+ compatible = "qcom,msm8953-cci";
+ reg = <0x1b0c000 0x4000>;
+
+ interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
+
+ clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>,
+ <&gcc GCC_CAMSS_CCI_AHB_CLK>,
+ <&gcc GCC_CAMSS_CCI_CLK>,
+ <&gcc GCC_CAMSS_AHB_CLK>;
+ clock-names = "camss_top_ahb",
+ "cci_ahb",
+ "cci",
+ "camss_ahb";
+
+ assigned-clocks = <&gcc GCC_CAMSS_CCI_AHB_CLK>,
+ <&gcc GCC_CAMSS_CCI_CLK>;
+ assigned-clock-rates = <80000000>,
+ <19200000>;
+
+ pinctrl-0 = <&cci0_default &cci1_default>;
+ pinctrl-names = "default";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+
+ cci_i2c0: i2c-bus@0 {
+ reg = <0>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ cci_i2c1: i2c-bus@1 {
+ reg = <1>;
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
gpu: gpu@1c00000 {
compatible = "qcom,adreno-506.0", "qcom,adreno";
reg = <0x01c00000 0x40000>;
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 6/7] arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
` (4 preceding siblings ...)
2025-10-28 16:40 ` [PATCH v2 5/7] arm64: dts: qcom: msm8953: Add CCI nodes Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-28 16:40 ` [PATCH v2 7/7] arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM Luca Weiss
2025-10-29 10:41 ` (subset) [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Bartosz Golaszewski
7 siblings, 0 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Konrad Dybcio
Add the definitions for a few fixed regulators found on the Fairphone 3.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 36 +++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
index 55a45b528bd3..557925a66276 100644
--- a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
+++ b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
@@ -36,6 +36,42 @@ key-volume-up {
};
};
+ vreg_cam_af_2p85: regulator-cam-af-2p85 {
+ compatible = "regulator-fixed";
+ regulator-name = "cam_af_2p85";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+
+ gpio = <&tlmm 128 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vph_pwr>;
+ };
+
+ vreg_cam_io_1p8: regulator-cam-io-1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "cam_io_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ gpio = <&tlmm 130 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vph_pwr>;
+ };
+
+ vreg_cam2_dig_1p2: regulator-cam2-dig-1p2 {
+ compatible = "regulator-fixed";
+ regulator-name = "cam2_dig_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+
+ gpio = <&tlmm 46 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ vin-supply = <&vph_pwr>;
+ };
+
/* Dummy regulator until PMI632 has LCDB VSP/VSN support */
lcdb_dummy: regulator-lcdb-dummy {
compatible = "regulator-fixed";
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 7/7] arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
` (5 preceding siblings ...)
2025-10-28 16:40 ` [PATCH v2 6/7] arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators Luca Weiss
@ 2025-10-28 16:40 ` Luca Weiss
2025-10-29 10:41 ` (subset) [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Bartosz Golaszewski
7 siblings, 0 replies; 17+ messages in thread
From: Luca Weiss @ 2025-10-28 16:40 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Luca Weiss,
Konrad Dybcio
Enable the CCI where the camera modules are connected to, and add a node
for the EEPROM found next to the IMX363 rear camera.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
index 557925a66276..0edb2992b902 100644
--- a/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
+++ b/arch/arm64/boot/dts/qcom/sdm632-fairphone-fp3.dts
@@ -88,6 +88,27 @@ vph_pwr: vph-pwr-regulator {
};
};
+&cci {
+ status = "okay";
+};
+
+&cci_i2c0 {
+ /* Sony IMX363 (rear) @ 0x10 */
+
+ eeprom@50 {
+ compatible = "belling,bl24s64", "atmel,24c64";
+ reg = <0x50>;
+ vcc-supply = <&vreg_cam_io_1p8>;
+ read-only;
+ };
+
+ /* ON Semi LC898217 VCM @ 0x72 */
+};
+
+&cci_i2c1 {
+ /* Samsung S5K4H7YX (front) @ 0x10 */
+};
+
&gpu {
status = "okay";
};
--
2.51.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64
2025-10-28 16:40 ` [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64 Luca Weiss
@ 2025-10-29 6:32 ` Krzysztof Kozlowski
0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-29 6:32 UTC (permalink / raw)
To: Luca Weiss
Cc: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm, linux-i2c, devicetree, linux-kernel
On Tue, Oct 28, 2025 at 05:40:48PM +0100, Luca Weiss wrote:
> Add the compatible for an 64Kb EEPROM from Belling.
>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> ---
> Documentation/devicetree/bindings/eeprom/at24.yaml | 1 +
> 1 file changed, 1 insertion(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
@ 2025-10-29 6:34 ` Krzysztof Kozlowski
2025-10-29 9:36 ` Konrad Dybcio
2025-10-30 12:26 ` Andi Shyti
2 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-29 6:34 UTC (permalink / raw)
To: Luca Weiss
Cc: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm, linux-i2c, devicetree, linux-kernel
On Tue, Oct 28, 2025 at 05:40:46PM +0100, Luca Weiss wrote:
> Add the msm8953 CCI device string compatible.
>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> ---
> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
> 1 file changed, 2 insertions(+)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
2025-10-29 6:34 ` Krzysztof Kozlowski
@ 2025-10-29 9:36 ` Konrad Dybcio
2025-10-29 18:03 ` Andi Shyti
2025-10-29 20:41 ` Luca Weiss
2025-10-30 12:26 ` Andi Shyti
2 siblings, 2 replies; 17+ messages in thread
From: Konrad Dybcio @ 2025-10-29 9:36 UTC (permalink / raw)
To: Luca Weiss, ~postmarketos/upstreaming, phone-devel, Loic Poulain,
Robert Foss, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel
On 10/28/25 5:40 PM, Luca Weiss wrote:
> Add the msm8953 CCI device string compatible.
>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> ---
> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> index 9bc99d736343..ef8f5fe3a8e1 100644
> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> @@ -15,6 +15,7 @@ properties:
> oneOf:
> - enum:
> - qcom,msm8226-cci
> + - qcom,msm8953-cci
> - qcom,msm8974-cci
> - qcom,msm8996-cci
>
> @@ -146,6 +147,7 @@ allOf:
> - contains:
> enum:
> - qcom,msm8916-cci
> + - qcom,msm8953-cci
>
> - const: qcom,msm8996-cci
Sorry for only bringing it up now - could you check whether
all the clocks that you defined are actually necessary?
It may be that you can do without CAMSS_AHB_CLK and/or
TOP_AHB_CLK
Konrad
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: (subset) [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
` (6 preceding siblings ...)
2025-10-28 16:40 ` [PATCH v2 7/7] arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM Luca Weiss
@ 2025-10-29 10:41 ` Bartosz Golaszewski
7 siblings, 0 replies; 17+ messages in thread
From: Bartosz Golaszewski @ 2025-10-29 10:41 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio, Luca Weiss
Cc: Bartosz Golaszewski, linux-arm-msm, linux-i2c, devicetree,
linux-kernel, Wolfram Sang, Konrad Dybcio
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
On Tue, 28 Oct 2025 17:40:45 +0100, Luca Weiss wrote:
> Add the compatibles and config for CCI on MSM8953, then enable these I2C
> busses on Fairphone 3 and configure the EEPROM found with one of the
> camera modules.
>
>
Applied, thanks!
[3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64
https://git.kernel.org/brgl/linux/c/aef72ebe9c86b516c6e126d4b453c96496547f0b
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-29 9:36 ` Konrad Dybcio
@ 2025-10-29 18:03 ` Andi Shyti
2025-10-29 20:41 ` Luca Weiss
1 sibling, 0 replies; 17+ messages in thread
From: Andi Shyti @ 2025-10-29 18:03 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Luca Weiss, ~postmarketos/upstreaming, phone-devel, Loic Poulain,
Robert Foss, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm, linux-i2c, devicetree, linux-kernel
Hi,
On Wed, Oct 29, 2025 at 10:36:16AM +0100, Konrad Dybcio wrote:
> On 10/28/25 5:40 PM, Luca Weiss wrote:
> > Add the msm8953 CCI device string compatible.
> >
> > Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> > ---
> > Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> > index 9bc99d736343..ef8f5fe3a8e1 100644
> > --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> > +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
> > @@ -15,6 +15,7 @@ properties:
> > oneOf:
> > - enum:
> > - qcom,msm8226-cci
> > + - qcom,msm8953-cci
> > - qcom,msm8974-cci
> > - qcom,msm8996-cci
> >
> > @@ -146,6 +147,7 @@ allOf:
> > - contains:
> > enum:
> > - qcom,msm8916-cci
> > + - qcom,msm8953-cci
> >
> > - const: qcom,msm8996-cci
>
> Sorry for only bringing it up now - could you check whether
> all the clocks that you defined are actually necessary?
>
> It may be that you can do without CAMSS_AHB_CLK and/or
> TOP_AHB_CLK
I was about to merge this. I'll wait for Luca's confirmation.
Andi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-29 9:36 ` Konrad Dybcio
2025-10-29 18:03 ` Andi Shyti
@ 2025-10-29 20:41 ` Luca Weiss
2025-10-30 9:18 ` Konrad Dybcio
1 sibling, 1 reply; 17+ messages in thread
From: Luca Weiss @ 2025-10-29 20:41 UTC (permalink / raw)
To: Konrad Dybcio, ~postmarketos/upstreaming, phone-devel,
Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski,
Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel
Hi Konrad,
On 29-10-2025 10:36, Konrad Dybcio wrote:
> On 10/28/25 5:40 PM, Luca Weiss wrote:
>> Add the msm8953 CCI device string compatible.
>>
>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>> ---
>> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> index 9bc99d736343..ef8f5fe3a8e1 100644
>> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>> @@ -15,6 +15,7 @@ properties:
>> oneOf:
>> - enum:
>> - qcom,msm8226-cci
>> + - qcom,msm8953-cci
>> - qcom,msm8974-cci
>> - qcom,msm8996-cci
>>
>> @@ -146,6 +147,7 @@ allOf:
>> - contains:
>> enum:
>> - qcom,msm8916-cci
>> + - qcom,msm8953-cci
>>
>> - const: qcom,msm8996-cci
>
> Sorry for only bringing it up now - could you check whether
> all the clocks that you defined are actually necessary?
>
> It may be that you can do without CAMSS_AHB_CLK and/or
> TOP_AHB_CLK
Removing either GCC_CAMSS_AHB_CLK or GCC_CAMSS_TOP_AHB_CLK from dts
leads to an instant reboot during bootup - presumably during cci (or
eeprom) probe.
Regards
Luca
>
> Konrad
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-29 20:41 ` Luca Weiss
@ 2025-10-30 9:18 ` Konrad Dybcio
0 siblings, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2025-10-30 9:18 UTC (permalink / raw)
To: Luca Weiss, ~postmarketos/upstreaming, phone-devel, Loic Poulain,
Robert Foss, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel
On 10/29/25 9:41 PM, Luca Weiss wrote:
> Hi Konrad,
>
> On 29-10-2025 10:36, Konrad Dybcio wrote:
>> On 10/28/25 5:40 PM, Luca Weiss wrote:
>>> Add the msm8953 CCI device string compatible.
>>>
>>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>>> ---
>>> Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>>> index 9bc99d736343..ef8f5fe3a8e1 100644
>>> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>>> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml
>>> @@ -15,6 +15,7 @@ properties:
>>> oneOf:
>>> - enum:
>>> - qcom,msm8226-cci
>>> + - qcom,msm8953-cci
>>> - qcom,msm8974-cci
>>> - qcom,msm8996-cci
>>> @@ -146,6 +147,7 @@ allOf:
>>> - contains:
>>> enum:
>>> - qcom,msm8916-cci
>>> + - qcom,msm8953-cci
>>> - const: qcom,msm8996-cci
>>
>> Sorry for only bringing it up now - could you check whether
>> all the clocks that you defined are actually necessary?
>>
>> It may be that you can do without CAMSS_AHB_CLK and/or
>> TOP_AHB_CLK
>
> Removing either GCC_CAMSS_AHB_CLK or GCC_CAMSS_TOP_AHB_CLK from dts leads to an instant reboot during bootup - presumably during cci (or eeprom) probe.
So just like 8939.. thanks for confirming
Konrad
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
2025-10-29 6:34 ` Krzysztof Kozlowski
2025-10-29 9:36 ` Konrad Dybcio
@ 2025-10-30 12:26 ` Andi Shyti
2 siblings, 0 replies; 17+ messages in thread
From: Andi Shyti @ 2025-10-30 12:26 UTC (permalink / raw)
To: Luca Weiss
Cc: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio,
linux-arm-msm, linux-i2c, devicetree, linux-kernel
Hi Luca,
On Tue, Oct 28, 2025 at 05:40:46PM +0100, Luca Weiss wrote:
> Add the msm8953 CCI device string compatible.
>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
merged to i2c/i2c-host.
Thanks,
Andi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/7] i2c: qcom-cci: Add msm8953 compatible
2025-10-28 16:40 ` [PATCH v2 2/7] i2c: qcom-cci: Add " Luca Weiss
@ 2025-11-04 18:25 ` Luca Weiss
0 siblings, 0 replies; 17+ messages in thread
From: Luca Weiss @ 2025-11-04 18:25 UTC (permalink / raw)
To: ~postmarketos/upstreaming, phone-devel, Loic Poulain, Robert Foss,
Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Bjorn Andersson, Konrad Dybcio
Cc: linux-arm-msm, linux-i2c, devicetree, linux-kernel, Wolfram Sang
On 28-10-2025 17:40, Luca Weiss wrote:
> Add a config for the v1.2.5 CCI found on msm8953 which has different
> values in .params compared to others already supported in the driver.
>
> Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
> Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
Hi Andi,
Could you please also pick up this patch? Since Wolfram has added
Acked-by I assume he's not going to pick it up?
Regards
Luca
> ---
> drivers/i2c/busses/i2c-qcom-cci.c | 46 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c
> index e631d79baf14..884055df1560 100644
> --- a/drivers/i2c/busses/i2c-qcom-cci.c
> +++ b/drivers/i2c/busses/i2c-qcom-cci.c
> @@ -783,8 +783,54 @@ static const struct cci_data cci_v2_data = {
> },
> };
>
> +static const struct cci_data cci_msm8953_data = {
> + .num_masters = 2,
> + .queue_size = { 64, 16 },
> + .quirks = {
> + .max_write_len = 11,
> + .max_read_len = 12,
> + },
> + .params[I2C_MODE_STANDARD] = {
> + .thigh = 78,
> + .tlow = 114,
> + .tsu_sto = 28,
> + .tsu_sta = 28,
> + .thd_dat = 10,
> + .thd_sta = 77,
> + .tbuf = 118,
> + .scl_stretch_en = 0,
> + .trdhld = 6,
> + .tsp = 1
> + },
> + .params[I2C_MODE_FAST] = {
> + .thigh = 20,
> + .tlow = 28,
> + .tsu_sto = 21,
> + .tsu_sta = 21,
> + .thd_dat = 13,
> + .thd_sta = 18,
> + .tbuf = 32,
> + .scl_stretch_en = 0,
> + .trdhld = 6,
> + .tsp = 3
> + },
> + .params[I2C_MODE_FAST_PLUS] = {
> + .thigh = 16,
> + .tlow = 22,
> + .tsu_sto = 17,
> + .tsu_sta = 18,
> + .thd_dat = 16,
> + .thd_sta = 15,
> + .tbuf = 19,
> + .scl_stretch_en = 1,
> + .trdhld = 3,
> + .tsp = 3
> + },
> +};
> +
> static const struct of_device_id cci_dt_match[] = {
> { .compatible = "qcom,msm8226-cci", .data = &cci_v1_data},
> + { .compatible = "qcom,msm8953-cci", .data = &cci_msm8953_data},
> { .compatible = "qcom,msm8974-cci", .data = &cci_v1_5_data},
> { .compatible = "qcom,msm8996-cci", .data = &cci_v2_data},
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-11-04 18:25 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-28 16:40 [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Luca Weiss
2025-10-28 16:40 ` [PATCH v2 1/7] dt-bindings: i2c: qcom-cci: Document msm8953 compatible Luca Weiss
2025-10-29 6:34 ` Krzysztof Kozlowski
2025-10-29 9:36 ` Konrad Dybcio
2025-10-29 18:03 ` Andi Shyti
2025-10-29 20:41 ` Luca Weiss
2025-10-30 9:18 ` Konrad Dybcio
2025-10-30 12:26 ` Andi Shyti
2025-10-28 16:40 ` [PATCH v2 2/7] i2c: qcom-cci: Add " Luca Weiss
2025-11-04 18:25 ` Luca Weiss
2025-10-28 16:40 ` [PATCH v2 3/7] dt-bindings: eeprom: at24: Add compatible for Belling BL24S64 Luca Weiss
2025-10-29 6:32 ` Krzysztof Kozlowski
2025-10-28 16:40 ` [PATCH v2 4/7] arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states Luca Weiss
2025-10-28 16:40 ` [PATCH v2 5/7] arm64: dts: qcom: msm8953: Add CCI nodes Luca Weiss
2025-10-28 16:40 ` [PATCH v2 6/7] arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators Luca Weiss
2025-10-28 16:40 ` [PATCH v2 7/7] arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM Luca Weiss
2025-10-29 10:41 ` (subset) [PATCH v2 0/7] Camera I2C (CCI) enablement on MSM8953 and Fairphone 3 Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).