Re: [PATCH v22 12/14] arm64: dts: qcom: kaanapali: Add CCI controller nodes
From: Hangxiang Ma
Date: Tue Oct 27 2026 - 00:08:39 EST
On 10/26/2026 11:55 PM, Loic Poulain wrote:
On Sun, Oct 25, 2026 at 4:17 AM Hangxiang Ma[...]>> @@ -4534,6 +4645,198 @@ tlmm: pinctrl@f100000 {
<hangxiang.ma@xxxxxxxxxxxxxxxx> wrote:
Add the three Camera Control Interface (CCI) controllers present on the
Kaanapali SoC. Each controller provides two I2C hosts used for camera
sensor control, so define the controller nodes and their pinctrl states.
#interrupt-cells = <2>;
wakeup-parent = <&pdc>;
+ cci0_i2c0_default: cci0-i2c0-default-state {
+ scl-pins {
+ pins = "gpio110";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ sda-pins {
+ pins = "gpio109";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ cci0_i2c0_sleep: cci0-i2c0-sleep-state {
+ scl-pins {
+ pins = "gpio110";
+ function = "cci_i2c_scl";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ sda-pins {
+ pins = "gpio109";
+ function = "cci_i2c_sda";
+ drive-strength = <2>;
+ bias-disable;
+ };
Why do we have a sleep state if it's identical to the default/active state?
Do you want gpio with pull instead?
The sleep state is kept so that the CCI suspend path has an explicit
pinctrl state to select.
As discussed in the v19 thread, SDA and SCL have external pull-up
resistors on the board. Therefore, enabling the weak internal pulls is
unnecessary.
However, I agree that keeping an identical sleep state is redundant. I
will change the sleep state to GPIO function with bias disabled, while
the external pull-up resistors keep both lines high during suspend.
Link: https://lore.kernel.org/all/d30d2b5b-0034-47f0-8e93-9abde4dad118@xxxxxxxxxxxxxxxx/
---
Best regards,
Hangxiang