From nobody Thu Apr 2 15:36:11 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 69C5E3321A2 for ; Tue, 10 Feb 2026 20:46:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770756405; cv=none; b=luwUmDQrwPBA0F1F93+LKVTZyU+iCKmAvJjJmV5dPvpiJXLybMkO/aviMRn72ksCNT/55iyaA5HJnMOlvFa2dujyy5f3NVBCJnVVj3BEm/l6LXnIz7s6CJO9iW2eT+eICyrYmB5htfv7OHG6wOOiY9iS7xWIZPOXaXhQ5yFf/cU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770756405; c=relaxed/simple; bh=lazVxl8WJKg/jltTmr7HFjMBJRcsa2eV7m49E9VAdAc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=quwg5YO9EF726GV6gH9p9PtNOyWXtjaJTG3kcCPw5meGXNv4uGf14yuAP+EFpYDbr3VXpSHbyoLeCj01wueM6c4F7y7kmxeKJ4Jffo7/aqMn1qqe+0Z11GaO0QJ6z3jhsQJ5cQOkNzdm8g1irzRkjyX0n35jxLklaqOyQLSxoks= 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=mp01AMXc; arc=none smtp.client-ip=209.85.221.52 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="mp01AMXc" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-4362507f0feso3055984f8f.0 for ; Tue, 10 Feb 2026 12:46:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770756403; x=1771361203; 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=OiO+nVc5IO8Z6Ent3/Ayytw2yL90H0wfU2AM1rR7mW8=; b=mp01AMXcKR10K0OhAWfgwPK1bDdtge5Degg31vKzuO3SocUaPCZPWximJKT/itRnHX NztSwcB2vF+lQUiNVKGQ7rdEH/RQFGCdc/1Hl5IlsQC20/+l9xfIMhBwUDz6mnEjDwPu xdTfYW5JOwXCaZUVrxpFC/AYXEMv1L5XOnKuH13X5dygs4dvTPR5ojpD44xj680CtwDj xG6Y+jmWsDpYQ9CyqBxJPY/K24HL0lWKCz3duOHchJK5bvtkiZjJKHJ96dWLenSYq9CL gSDzYJKRbiyXn9R0d7dUqTROxoMQlrTknwzkSYWGgm8G9GKI5//6YiRMiryfTMvwvcD7 Fb1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770756403; x=1771361203; 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=OiO+nVc5IO8Z6Ent3/Ayytw2yL90H0wfU2AM1rR7mW8=; b=ngN3brucm8q8qZfGSYYabSRado9YOjSHUA/8MF9kwQaofOdyjkzB7RDTgQdZaYiASE lMOTLb2/GJ8e9ls01055oi4SFFc3MlNy/4AbdaKIS1OSY/a9+1Mig2PSNWVZJFBsm0ko YctFPe0LM3QLIE+UqdSiBSSHsPEmBBhap91CzJB0shwu1xcyjHJ6o1Rk5cdN9sRFQ7cC eAaHtP7b+nTsbTrUTDGRIchLW/2tSD7XylmBkN6e7mxdDzeW0a9ZRYTkPn6FOzIEdqeC vAkbq8jlbYpJJ4er5D+tuTM483VEhqpS3Y5VYwEt8VCK6CDKRmHC06f4O8QJ1ETRNKqs LQSg== X-Forwarded-Encrypted: i=1; AJvYcCXLqFYq7s7kkib6fmIHJwtHyw3Ywlhw9CqHuP0XS/sq/Foh6yS/lL1JCh2vgJilxAJXxJzSbly6q6eQ5TA=@vger.kernel.org X-Gm-Message-State: AOJu0Yz8HRbW2NsIRECAMl9uxGmyfy2BY7PoFM+DFSoFT+fizar2O+cu GDEfMOmGIeMeKdwVVg2hKB2jjoxr1YLfK1EGd9+8x2YO4W3O6Cnbu01s X-Gm-Gg: AZuq6aLJ1u3MRnpwQel+loZs8et5/hjf4BFOUNZ/S0YUv6hqbtubKAgkTX6coR69C41 OGyx6K2r/ZhmPTJd7HBkGI4Jhlkr4IQs6E7sEnMnAwCqxzI4sDHtDBiE+t2h2+8XcMcnrDPs2ZH QNbr09AHtSWPTBmphnRqdXRuMhhdv1gIhZ4FSI2oSxWZ8onnajC31CAlAHT67cHKuHGEw31mmwV +E3RfoN57mOD9gC++nHAgl+G4J75tM79wHEQ4KnFkMMgrzp2EKQabS0Ks5EWzvTF6n1RMiSpPXX AzP55nri+3/17poyNDaK/uHxqUUIjAvh9oo1PJj0TQ8+yO8uQAYKWJLjRjepakgKKanxDTV+rJG p88T0Jx58P+MU8qMiPp8HkudZIPFNRSiHai3GkE4eT4BEK/djJ+NmOR5TEEiN+odKQJmNsczuvD b/aS+LMPPnRzmVvMhbzhtCjigKgnvc2NLY/5kz X-Received: by 2002:a05:600c:548d:b0:480:4b59:9327 with SMTP id 5b1f17b1804b1-483507d0344mr48000965e9.1.1770756402734; Tue, 10 Feb 2026 12:46:42 -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.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 12:46:42 -0800 (PST) From: Erikas Bitovtas Date: Tue, 10 Feb 2026 22:46:10 +0200 Subject: [PATCH 1/2] dt-bindings: iio: light: vcnl4000: add 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-1-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 Capella CM36686 is an ambient light and proximity sensor developed by Capella Microsystems, now a subsidiary of Vishay Intertechnology Inc. It has an I2C address of 0x60 and is fully compatible with an existing driver for VCNL4040. Capella CM36672P is a proximity-only sensor that is fully compatible with CM36686, and therefore with VCNL4040. Add compatibles for cm36672p and cm36686, with a fallback for cm36686 of vcnl4040. Signed-off-by: Erikas Bitovtas --- .../devicetree/bindings/iio/light/vishay,vcnl4000.yaml | 17 +++++++++++--= ---- 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.ya= ml b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml index 4d1a225e8868..2ba4d5de4ec4 100644 --- a/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml +++ b/Documentation/devicetree/bindings/iio/light/vishay,vcnl4000.yaml @@ -18,12 +18,17 @@ allOf: =20 properties: compatible: - enum: - - vishay,vcnl4000 - - vishay,vcnl4010 - - vishay,vcnl4020 - - vishay,vcnl4040 - - vishay,vcnl4200 + oneOf: + - enum: + - capella,cm36672p + - vishay,vcnl4000 + - vishay,vcnl4010 + - vishay,vcnl4020 + - vishay,vcnl4040 + - vishay,vcnl4200 + - items: + - const: capella,cm36686 + - const: vishay,vcnl4040 =20 interrupts: maxItems: 1 --=20 2.53.0 From nobody Thu Apr 2 15:36:11 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