From nobody Thu Apr 2 17:13:14 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBEA0332EB2 for ; Tue, 10 Feb 2026 20:46:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770756409; cv=none; b=XZeSHdb+22/tDa9fYYGowr56SVRIt0YAfJx58xBHfilkZBCnjiFsByLFVykKjXkXGWffDFq91o15k4vG2RwU6Q3RR2KKYlG37a5TI0WiU0eNw69U3EX+k5F2MAYDTK+M5CYK64k7O200GPRUwYbR4rKIHwsNkCzIicF+fsK8WeY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770756409; c=relaxed/simple; bh=L2xsjNTQ2sKBAoSEbdRhmHvgPTTi44GQ14ajC31jI9I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=moljeKD4adx3RtCxcgSgWNgcRdL/qU2/cb3SDecxCFtfa89CfVufFWqwCvzomGg1pzWKPTWAmGB4PQEVtEL99xLtsB3bFSDLZbMgN1LDKQLyOyqxn9+SD+9hRAAB4MCknQ6mrlvTGLpvUFSLyAn5RKEB+azHcXu+XA9Lexc90A8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QDO0fcyc; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QDO0fcyc" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-47ff94b46afso2243985e9.1 for ; Tue, 10 Feb 2026 12:46:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770756406; x=1771361206; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=LUZ/YRPT1sN8gt3KA41XFNZVcdYG5u6xhlqAIrhH5jc=; b=QDO0fcycCir1m/MKpzkiZSleQV357ZqE+Lh7Q6Uu/5+R5P7rA6bWXTC4w28ZcGFOPT vY63c9xb5+YZL2KvMtD0z1ePE04X7YrqFhBpBCE1L+v+ULv9MMa8Ll32bdmG61qYmBO1 YudVtxFvodGbguCEjdIug9Dz4wzFBq+/3qPgyGBIqAL1pjHROM268d6S5tJ1swZ9AIO2 CvquMaAq4Wk66MoxwEcRlpD0jZiPShZ44cBGkjgay4IqGdu5WCBwNMGXoNMnnXq2qXwW 691ryol9zXuTIfZ0bZKgaRBQepJUKj/2z4YqQVmMhhlt36UlPNPsai5f5ul5RZhyiKcr T1jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770756406; x=1771361206; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LUZ/YRPT1sN8gt3KA41XFNZVcdYG5u6xhlqAIrhH5jc=; b=HJGEpruVI1QqRdjnPuRJdf6m7GUTZ90mOhSuCFwL98EOaNsrBw/Fxn7ojpx8Y7PfUq uJysXQh08S8kEwN6jN/cPLQVkXLTUMNiOuhu2lTWHeFqIRf2HrXm/XS+30Geb8uS5yQW ErcWqA2oGX9GDNfog/JddBQA0zV+TWvB1p8+ZUAy62M4G5eOVC8FiLHS6JR4Q3tNDBhN IxlUeZcMZOpUMxNzg7tfwC0VoqwWfhPZjfiozoJVvr/37igbojKRy0vjkXvsOs7BG2a7 5yznEPeKX/rCsGNDt+TUsfVx/Klf+HW74e3aIky0EiD8XJ9B6+3CspkMBaoKVYbq/Q35 Manw== X-Forwarded-Encrypted: i=1; AJvYcCVsLFLQUQBL3+4pzFVjjmPTqF4EolmwPWO2J+k1lYV9wCP6RXzwtuzwgOU+IZE36+J9KVDjN85DW7ZdumM=@vger.kernel.org X-Gm-Message-State: AOJu0YysyLJ5vQB2ktr1Ld7+P+h+JvGpbCc2FXEzTFYexpcZWTZa/YE7 fl3dGq4VsdSa3hShw+cAizEfTGRFe5x/bOwC1yD6U/9IWkPtXCexj57d X-Gm-Gg: AZuq6aK8+IgXsSpG6KQBmyxI+gZUYuvmwZiy/pc1c8j7hWkHcVUscucvbe8lhYoA1Mn Hzf9mDZE0tfhLxkAON2M1Y9VSR+b8AMBSenr2iaKBUZslnEQJ1/LHAQL5YuUHZRDg2LoMGKrnwB AhTN3oH796tQn4AsP2YM0aOeZ0Gn+Ctb+bYwxV/v4dtpZvyaFfj787hjKEP5z/wC81Ymbb2WdxU 42PJfdQT0QnDRSzYq9Sr02CgbFT/dawyNczW/0ElQIZ8aIEBvLTILaS1R970ydA++fQep8sS6UP qjPqIeFwyxOcmFTpGkbL6We/cULE5kj82RWZhot1SdsZhpXON1JGubmQsKp7UfcpGUrhuXtEuKn pIYx9A2bJby4Aj0bkO2+cGO0HP9FKAG4ZWOXBSFKSaCzrJJynJIPZEYZRiyt9QLBIWv3yM06rkI yggZNOsAB8n+bIA4kpZOpSTUFBYg== X-Received: by 2002:a05:600c:820c:b0:47d:333d:99c with SMTP id 5b1f17b1804b1-4835054f3f4mr58429895e9.18.1770756406345; Tue, 10 Feb 2026 12:46:46 -0800 (PST) Received: from [192.168.8.10] ([2a00:f502:160:28bc:a26c:adcb:8da8:2]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4834d7d6f3esm71451965e9.9.2026.02.10.12.46.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 12:46:45 -0800 (PST) From: Erikas Bitovtas Date: Tue, 10 Feb 2026 22:46:11 +0200 Subject: [PATCH 2/2] iio: light: vcnl4000: add support for Capella CM36686 and CM36672P Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260210-cm36686-v1-2-aef68dd46ad4@gmail.com> References: <20260210-cm36686-v1-0-aef68dd46ad4@gmail.com> In-Reply-To: <20260210-cm36686-v1-0-aef68dd46ad4@gmail.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Peter Meerwald Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, Erikas Bitovtas X-Mailer: b4 0.14.3 Add support for Capella's CM36686 and CM36672P sensors. Capella CM36686 is an ambient light and proximity sensor that is fully compatible with VCNL4040 and can be used as is. For CM36672P, which is a proximity-only sensor, also remove the IIO_LIGHT channel. Signed-off-by: Erikas Bitovtas --- drivers/iio/light/vcnl4000.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index a36c23813679..97dd930d57f6 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -185,6 +185,7 @@ static const int vcnl4040_ps_oversampling_ratio[] =3D {= 1, 2, 4, 8}; #define VCNL4000_SLEEP_DELAY_MS 2000 /* before we enter pm_runtime_suspend= */ =20 enum vcnl4000_device_ids { + CM36672P, VCNL4000, VCNL4010, VCNL4040, @@ -240,6 +241,8 @@ static const struct i2c_device_id vcnl4000_id[] =3D { { "vcnl4020", VCNL4010 }, { "vcnl4040", VCNL4040 }, { "vcnl4200", VCNL4200 }, + { "cm36672p", CM36672P }, + { "cm36686", VCNL4040 }, { } }; MODULE_DEVICE_TABLE(i2c, vcnl4000_id); @@ -1842,6 +1845,22 @@ static const struct iio_chan_spec vcnl4040_channels[= ] =3D { } }; =20 +static const struct iio_chan_spec cm36672p_channels[] =3D { + { + .type =3D IIO_PROXIMITY, + .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW) | + BIT(IIO_CHAN_INFO_INT_TIME) | + BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO) | + BIT(IIO_CHAN_INFO_CALIBBIAS), + .info_mask_separate_available =3D BIT(IIO_CHAN_INFO_INT_TIME) | + BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO) | + BIT(IIO_CHAN_INFO_CALIBBIAS), + .ext_info =3D vcnl4000_ext_info, + .event_spec =3D vcnl4040_event_spec, + .num_event_specs =3D ARRAY_SIZE(vcnl4040_event_spec), + } +}; + static const struct iio_info vcnl4000_info =3D { .read_raw =3D vcnl4000_read_raw, }; @@ -1867,6 +1886,19 @@ static const struct iio_info vcnl4040_info =3D { }; =20 static const struct vcnl4000_chip_spec vcnl4000_chip_spec_cfg[] =3D { + [CM36672P] =3D { + .prod =3D "CM36672P", + .init =3D vcnl4200_init, + .measure_proximity =3D vcnl4200_measure_proximity, + .set_power_state =3D vcnl4200_set_power_state, + .channels =3D cm36672p_channels, + .num_channels =3D ARRAY_SIZE(cm36672p_channels), + .info =3D &vcnl4040_info, + .irq_thread =3D vcnl4040_irq_thread, + .int_reg =3D VCNL4040_INT_FLAGS, + .ps_it_times =3D &vcnl4040_ps_it_times, + .num_ps_it_times =3D ARRAY_SIZE(vcnl4040_ps_it_times), + }, [VCNL4000] =3D { .prod =3D "VCNL4000", .init =3D vcnl4000_init, @@ -2053,6 +2085,14 @@ static const struct of_device_id vcnl_4000_of_match[= ] =3D { .compatible =3D "vishay,vcnl4200", .data =3D (void *)VCNL4200, }, + { + .compatible =3D "capella,cm36672p", + .data =3D (void *)CM36672P, + }, + { + .compatible =3D "capella,cm36686", + .data =3D (void *)VCNL4040, + }, { } }; MODULE_DEVICE_TABLE(of, vcnl_4000_of_match); --=20 2.53.0