[PATCH v22 12/14] arm64: dts: qcom: kaanapali: Add CCI controller nodes
Hangxiang Ma
hangxiang.ma at oss.qualcomm.com
Mon Oct 26 21:07:56 PDT 2026
On 10/26/2026 11:55 PM, Loic Poulain wrote:
> On Sun, Oct 25, 2026 at 4:17 AM Hangxiang Ma
> <hangxiang.ma at oss.qualcomm.com> 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.
[...]>> @@ -4534,6 +4645,198 @@ tlmm: pinctrl at f100000 {
>> #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@oss.qualcomm.com/
---
Best regards,
Hangxiang
More information about the linux-phy
mailing list