From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (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 D154B372B50 for ; Sun, 10 May 2026 11:08:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411314; cv=none; b=M6wM/VYL9FDDWY/p5RxUb5SlzuwdfoHVbvniPB97NQsdVBwzBzMEd26+IvoXx6CK3p4KoZ1v9+hJSGjXkpzkJ0fYlvsnvdilVJst1d3iYEtk43EIU8FcgZzcLIDw++uMXkpIntOlHYAk7C9dz4VQS3U/sP5F3gy99ZRLRJOzkWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411314; c=relaxed/simple; bh=DrNGeBlRxTjZoXBtwt3WHPiWKByZ7OZ+6oYAQENqEx8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WO7C9KmzPu7EZREoyTmTmDYn/tagO7HgglE3Zm3/33uPci2L6fnTcLKLcju7OJD0aPzy+qJAnXPXJkZeouVyLa2bnQFD2u4H3ihZMqkpybTPiNldcci/QG7E5HE2V3Y+tvuID13f7T+lzvHpvEtu7DPtBf7ElQYPDMQtgD9OGtM= 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=i+7VMlDh; arc=none smtp.client-ip=209.85.208.41 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="i+7VMlDh" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-676a89de629so5489959a12.1 for ; Sun, 10 May 2026 04:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411311; x=1779016111; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KFT7mMG9k0k/BXen8CQg8hnB8vdYe60xOPZB+uYBrVs=; b=i+7VMlDhEnQTy6TQpSATWj+W9wpDGc/zGemHEZV/wLPBZVyGo+M/4FGrj+0Jx3GxPh bJ8sN8IDtPs3d/OtGYQfhVUsF1bXJ7WCsBFXI4kviAYyA0GOZqGb39zjqCxQL5YI6bEo hJlBrjsa42xAJWaglmWB3eNMkBkoxeDEf0wG9HsmU43ieNrSiQ7FbblqZjNgfDEoB1Rw zE9Y9U5ez4fGb6V3Ln2yy52HYCJRCGmUARpepDJ9Ql1QBSVwSameLeh2jSnHST4a0ntl zTaiNpPbT1hB5S3v7Wt+rSFwu5bB7t8PgD9bkO4nrVErDT/MXRjvDo4RgBDNDO0Ekm62 bo3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411311; x=1779016111; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KFT7mMG9k0k/BXen8CQg8hnB8vdYe60xOPZB+uYBrVs=; b=EUA+kYO1UXerrX0iq6EEYH/+mE2M5UtLJAcIpCcjXIOhf01kmDW8LRSiV7qVlpkcKJ kFmI6uFTWjxUe/KzHkmMpUajl0IXiA81xZHxN5lEKXlhvkS4lNrYe8C8FJ6e/qA8mr51 yd/rEpIZgZtIGRJuRyOal1IwxlgGTNdcB7DmUCov3iFYAZ0SOmOFu6q0tXeOSppbbkKp zNJ93azNM3V30M7jH6mokulhHrHSQLnHHhittgXVIfZPOPy1hgLViPMX5onnHY/Hg8TG AbmFF+0lmWhGUmreIuXKZuDCmGmPvAsEOLoT78/aMcfJLnp2ZHidGT9OB8ATMytpwVua koqg== X-Forwarded-Encrypted: i=1; AFNElJ9hmUvqoKwem4goZ+I+whJEWxfj2EC0PdH7vKBiaaBVAfgxB+Kml92tfEvB08cS8rCjioNuie5nyWPlg30=@vger.kernel.org X-Gm-Message-State: AOJu0YyBEMgi4XSs66/5i0xn7LNqFFXmArimZ0hua8eIsf2s2n/wzCQc c2YKD7Zv2L7dDrDxfJVwXmX11rVrVo/ucQVYdkZSt+SF3qBn5/IwpWd6 X-Gm-Gg: Acq92OHmzrEt3U5pM8JNHy8tY9IOIlZNMFrJis8uJctI94BTIcMEQLCoXTojd5CZ69b LfPPxXgJtKmk64TIwAfp1H225n6FmZibZO8e9U9uutLInZrsUhlGoGGoSGaAtR5xKHgWXK7Nx5t bEK4giPRZSYSXi3Y9D7uDGnQ3ltkalxv+I/e704xVYoSoJIYLbR1qH/0IFR/GJ22SoCbPaZOKTu iCUfKc47JGIGOJg/yZ87WTtyuje9eACnWRsxcb+WO9T3ITqOcFSp9NIIm6rz9SHPiRGEyHCbczn MZxM+IabsgrclwKKBWvy1O8zBKcw1raSpVxBE1XVEkAmj9xU1scqH+K7tDIHQ3MK1aWRpLFB6Ma JGyGEEzSPWoFkNpFh8Ej5zyJi4TzloqcVygs2a+XpUsWp0HG3IRacv7JHO9+d6HS8NRyfNVQCza srSF/TyYv0+tZjrFjUQUYBCJI= X-Received: by 2002:a17:906:fd84:b0:bb8:fdf7:e132 with SMTP id a640c23a62f3a-bc56b9305e6mr1075475666b.18.1778411311105; Sun, 10 May 2026 04:08:31 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:30 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 1/6] dt-bindings: leds: leds-cpcap: convert to DT schema Date: Sun, 10 May 2026 14:07:59 +0300 Message-ID: <20260510110804.33045-2-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert LEDs devicetree bindings for the Motorola CPCAP MFD from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/leds/leds-cpcap.txt | 29 ------------- .../bindings/leds/motorola,cpcap-leds.yaml | 42 +++++++++++++++++++ 2 files changed, 42 insertions(+), 29 deletions(-) delete mode 100644 Documentation/devicetree/bindings/leds/leds-cpcap.txt create mode 100644 Documentation/devicetree/bindings/leds/motorola,cpcap-l= eds.yaml diff --git a/Documentation/devicetree/bindings/leds/leds-cpcap.txt b/Docume= ntation/devicetree/bindings/leds/leds-cpcap.txt deleted file mode 100644 index ebf7cdc7f70c..000000000000 --- a/Documentation/devicetree/bindings/leds/leds-cpcap.txt +++ /dev/null @@ -1,29 +0,0 @@ -Motorola CPCAP PMIC LEDs ------------------------- - -This module is part of the CPCAP. For more details about the whole -chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt. - -Requires node properties: -- compatible: should be one of - * "motorola,cpcap-led-mdl" (Main Display Lighting) - * "motorola,cpcap-led-kl" (Keyboard Lighting) - * "motorola,cpcap-led-adl" (Aux Display Lighting) - * "motorola,cpcap-led-red" (Red Triode) - * "motorola,cpcap-led-green" (Green Triode) - * "motorola,cpcap-led-blue" (Blue Triode) - * "motorola,cpcap-led-cf" (Camera Flash) - * "motorola,cpcap-led-bt" (Bluetooth) - * "motorola,cpcap-led-cp" (Camera Privacy LED) -- label: see Documentation/devicetree/bindings/leds/common.txt -- vdd-supply: A phandle to the regulator powering the LED - -Example: - -&cpcap { - cpcap_led_red: red-led { - compatible =3D "motorola,cpcap-led-red"; - label =3D "cpcap:red"; - vdd-supply =3D <&sw5>; - }; -}; diff --git a/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yam= l b/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml new file mode 100644 index 000000000000..c8e7b88a05cc --- /dev/null +++ b/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/motorola,cpcap-leds.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Motorola CPCAP PMIC LEDs + +maintainers: + - Svyatoslav Ryhel + +description: + This module is part of the Motorola CPCAP MFD device. For more details + see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. LEDs are + represented as sub-nodes of the PMIC node on the device tree. + +allOf: + - $ref: /schemas/leds/common.yaml# + +properties: + compatible: + enum: + - motorola,cpcap-led-adl # Display Lighting + - motorola,cpcap-led-blue # Blue Triode + - motorola,cpcap-led-bt # Bluetooth + - motorola,cpcap-led-cf # Camera Flash + - motorola,cpcap-led-cp # Camera Privacy LED + - motorola,cpcap-led-green # Green Triode + - motorola,cpcap-led-kl # Keyboard Lighting + - motorola,cpcap-led-mdl # Main Display Lighting + - motorola,cpcap-led-red # Red Triode + + vdd-supply: true + +required: + - compatible + - label + - vdd-supply + +unevaluatedProperties: false + +... --=20 2.51.0 From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 71B5037E30D for ; Sun, 10 May 2026 11:08:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411318; cv=none; b=WeUjQiF6YLIBpH2/bzFOs5Y516EfIAyuE/3EAHMskAYxxNsYc2XPfa4k2bhuXE80o+pLNzFULcur6ZPmnUKHLZsommrI+QyX532Xs+rsmvqp6LrrCvFl5QATuJFnwtW/4Qe0g3yhDCrehN9vUNKyOXtWwwF0Q3ixAY2Irgh5vGs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411318; c=relaxed/simple; bh=sJYSHWc09xFtiXGLxIY3eCmrqPgEujr443cRCV1hpP4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fm7D/pWrlWhAOHIsNNKJdhRfvrkfUcp+7ynnexrklHUQfyTAwKQWa2BRO2hLNWHrhm/tGcrXxV71HW+v14cIkXOd5wzUW1/Vx7BrApMFWTnuO9ksG0W9F/FNLfLPDUh2Y0jUU8hYp/BP3CjJO9VdVYQXh3En38pnVO60jfA1/ug= 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=DWBsWxYM; arc=none smtp.client-ip=209.85.218.41 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="DWBsWxYM" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-bcc9fdc959cso123768266b.2 for ; Sun, 10 May 2026 04:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411313; x=1779016113; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=eV+WP61ShKOblE3anHz+BLN4XFN+aFPa0yNq3Cy5s6A=; b=DWBsWxYMGAhcf2Jk9YXOqN6RrcAylX4Mkla1Z+g+GcjEkPeL1aVmZxomntrkdNaex/ dZrzMLD/LH74AnOBlxcg3/DEj77+KhKTBD5mCgQT4pFWjh0karoI7ckTssOr5TnVOpfO dxg2/v8MI4vpNdB4bjzViFl1t/elptghzMbGTUjTQpEqzGeP4FmGBxaNCXoQpgLbnrJd BsFAf8zPQtA7lbfC0Coc0Nb7yNE4EKZTxDZJkOFW6/L8YkmEy8Ki5WiD2dw4khI8MQa9 c39l2PbZ6vPSEc6PYHOEkFyBj5UjLDYXHGQZPNlvQgzihzFUA1Vz2svV6OndKe6E+sSL TReQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411313; x=1779016113; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=eV+WP61ShKOblE3anHz+BLN4XFN+aFPa0yNq3Cy5s6A=; b=I60r0afzKXFOsAR6/7KV7EB2N3JQkaXpL8PfL/kU2QkrDDnu9icvGbLaLU8172FnN/ u5eUDUVjWR7ItqTULKkk1MMGqHMd5SPd9S1vFkRwph3fvhjmHT0wtWV0WBtKjNVzxoR9 0We5ATObAhem4UaeNiBcssRQBR6UdrPeaemsxYdGqEkqz92upnA0qNdiC5X7pYZGjo/L MnsEdVGlsQ4K7vFAyxRtla5rHaa2SERWfyTvhC8uIRVcMfzrXmbfBqZ/VZ68SqQwgq80 cUX7UE2PLLnimOk1Ey9E5miPWvfGZqHP17vxuc2FfWV/VKk4CrU2LyxrhJk8hGMf9M5/ DQww== X-Forwarded-Encrypted: i=1; AFNElJ9j8aXn+BZysylH3SkK2eZHGfCu8u5yx57GiFSmnMkia+drwm4aNEXSNnw7yI/KDAziNWddJxkFNwFFE0o=@vger.kernel.org X-Gm-Message-State: AOJu0YyVdpmGbatFIA335GE3Bjt4sQZN/gHgez24QB/uS95Ot0URijr0 8gkuZdF6DhYb610jebACdeovk3TNhyMxK9GbupLFto+oMyc/ESCrvtGh X-Gm-Gg: Acq92OHyYVhPdwBATjD6/heeWteIYGKqYf5/69SNZ9qqV0/wuWkaEIc4+c9CjD0PcQT QFYHZrQj3/iJwydQJHaIeLRt5m/gpPh0kLcRDd246bQu7+KlYxCTwtn/R5feShHoabzf67vwGZP 1EP8ABMWV2RrF+Crdsa+3mTCOl3cGUwmWK47z+bMnZn3iUnqii6z62mWx0h9/kv7iXetjpVCGg+ igb38Sl4UAIjrCWElhu5JCwRzKeiOly011OQ4xcbJb7uYZEVuRPNwVrEv+bQItFMMV7XXUr05+g 8CfO3Gl19QiNNrqzWJWrXLgFFMgkVYy3yhyzFoguF9xCAfvAeK/RNTpSvbJuBXLw2mozm7wEHFf hLv0KdxFZFGKCJQaSE03x5pulaIdO/JxCM0PXhr+fJJ4k/KhDE5YVfrUzYRJhQ4ALuZi6crIA2S 7/0PR6dbh2wl9W X-Received: by 2002:a17:907:9714:b0:bc6:bb79:e50c with SMTP id a640c23a62f3a-bcc3f654801mr253345966b.29.1778411312270; Sun, 10 May 2026 04:08:32 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:31 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 2/6] dt-bindings: input: cpcap-pwrbutton: convert to DT schema Date: Sun, 10 May 2026 14:08:00 +0300 Message-ID: <20260510110804.33045-3-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert power button devicetree bindings for the Motorola CPCAP MFD from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. Acked-by: Dmitry Torokhov Signed-off-by: Svyatoslav Ryhel Reviewed-by: Rob Herring (Arm) --- .../bindings/input/cpcap-pwrbutton.txt | 20 ------------ .../input/motorola,cpcap-pwrbutton.yaml | 32 +++++++++++++++++++ 2 files changed, 32 insertions(+), 20 deletions(-) delete mode 100644 Documentation/devicetree/bindings/input/cpcap-pwrbutton= .txt create mode 100644 Documentation/devicetree/bindings/input/motorola,cpcap-= pwrbutton.yaml diff --git a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt b/= Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt deleted file mode 100644 index 0dd0076daf71..000000000000 --- a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt +++ /dev/null @@ -1,20 +0,0 @@ -Motorola CPCAP on key - -This module is part of the CPCAP. For more details about the whole -chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt. - -This module provides a simple power button event via an Interrupt. - -Required properties: -- compatible: should be one of the following - - "motorola,cpcap-pwrbutton" -- interrupts: irq specifier for CPCAP's ON IRQ - -Example: - -&cpcap { - cpcap_pwrbutton: pwrbutton { - compatible =3D "motorola,cpcap-pwrbutton"; - interrupts =3D <23 IRQ_TYPE_NONE>; - }; -}; diff --git a/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutt= on.yaml b/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.= yaml new file mode 100644 index 000000000000..77a3e5a47d1a --- /dev/null +++ b/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/motorola,cpcap-pwrbutton.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Motorola CPCAP PMIC power key + +maintainers: + - Svyatoslav Ryhel + +description: + This module is part of the Motorola CPCAP MFD device. For more details + see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. The + power key is represented as a sub-node of the PMIC node on the device + tree. + +properties: + compatible: + const: motorola,cpcap-pwrbutton + + interrupts: + items: + - description: CPCAP's ON interrupt + +required: + - compatible + - interrupts + +additionalProperties: false + +... --=20 2.51.0 From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (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 6040A37EFFC for ; Sun, 10 May 2026 11:08:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411319; cv=none; b=aWvwLJz+kUxD+78NO42/i3HpH0gPT0nmpY269XTq23YBUv+FESgNePuHtLbgScihDSB7I74FebxRBu3bd/GIDL+eHX4B8cGdhOElKtwAa3eIMe/bN6Z67dpG4Ncyna08z7Uri+5Ew3YFTUq1hzSjCYKf655NXo+m/ct+rJ2wMo0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411319; c=relaxed/simple; bh=nDhbrosT8U/39BZHe42+MYjzH8OaxkXKfQ2Gn3LuRmM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jjmG9xbda4iNUK6Tmh0OHXfrCygVEOHCEnKme4AlvAtm3rHy/llzzsHS4IlegzSikuQQr5JxhYPyfMHBn8IvQVV12dpW76ozOO2IabMXSPXkdFvLo0IgplaKEGTncistV87FT9szHmdd9ZmTWhZDnHLLzSfF/hrnwu0eBTrweLw= 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=db1vhX1J; arc=none smtp.client-ip=209.85.218.42 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="db1vhX1J" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b941762394aso546013366b.1 for ; Sun, 10 May 2026 04:08:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411315; x=1779016115; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1HlPZ/CLcCFHkVKEhAtN3foaks/uuE3eD27nJrsbiI4=; b=db1vhX1J9foAuksPovV7impFF8O2uKsuD9epU3aLY26KnYtgh4Dkqg/m5sG4XzA3+q B2kfsxuWZgqPCEo+V0vNjHbhx+9KpqSMH56iYYFAzIhlgtrgRsBwHMQQg3z4sWYhTarU aSBflVzs+HDiy9Hz/Uzjtok1sbWWwrD8gLMMI9L+ns1ByW939ma73by5sIqMs7jqE/IZ mdGK0hfYplj2Q8NSOD+bboqGcKQwaiXEhsUDzmBLz8gQlFmASfNEkHeWv2T40ZZV4aJD u0KTRSDjw8A4e4wBPduSvfqn+jYt+feVsguFkxhqrOQMcyEl261kvzo7UTeV6APIaJpx wpwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411315; x=1779016115; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1HlPZ/CLcCFHkVKEhAtN3foaks/uuE3eD27nJrsbiI4=; b=nBFj+lQaK35r+oyJfm3HDPAlxm54VoOGLbu1IqNcKPRhvwyVcvKgvcsFaRN2p94C/C asRShe+OoWmCeSMkNO4dUhZT8qIF7eCXiLSWwe+Yv2cQDKcR1SHARbbxhBNLZ9EMVGL/ K4DnAJZ80+8GaOoO9n7m0Qumj2MLByjS6f4HdGT05BditonWfqhm9Q3bIxSyv23l70h+ aSQnnxk/qxV42G0obLTHvaPXWB4uJDdw7LeE56ANlwRQv2T3xJuQX08iL44LUFgVExac 2ILpSabK2n9T+4Ame/a7/nUNwAsjmiac5OQA3/6ENwMsoAAij3OhVBTkpkNuGfAFPJBM CwPg== X-Forwarded-Encrypted: i=1; AFNElJ+bhcZ5XmSP42hy5bFsh3xIfjaN6x+DsPPmSKhW4FMCyMRz+IpeWvPnLUPDLMBkT6cPZqBMqzO8gu4LyDI=@vger.kernel.org X-Gm-Message-State: AOJu0YxkB466tx3Tpem2gw+3KIL75+mghmmbU10/Zk9UwrCKFubKTwfN SUzgKoP+RqGmAMTGSpnulyR3+GZUKnGT6JwRbnefSQ+haeOrcPybb0qB X-Gm-Gg: Acq92OHWIKKewkjeYlA37bCUONM9tThDQahAiX/FHo08zbICV9CKAUNlbyMG/aIbrSc gluK4awopm/rTtCGnbnGZjN4XH94IxTIc9tYaRR5N71qCWnYyWRE45r+uzyQeuUjlwvBXE+efi8 SOxGXCBN3qDZlTrGCeeStGoHxx+EA5VwSHICRat4Dd/tM74n0wQB6HA8kWuVNEs4hb52RXAwTX6 GSpIqK6PFcDku+LOEJFwdT6mc3GqYNCo7CZUaVbxjDSaViIprvnONWItRr/PYV+lSYhROYddcnL +bVsL6DMo1E42haHTSX+uKtwC/4rQb577VNG1ewz9O5iOegn4jwW108DjAwXM+VvvcI3cIshGjO G6vb1WG1q6fFnc5pTlM4lCvqsf2gXAr58wmDn3kWAhJAtWcja+0b8iuJLwX/rvgKOT5I4scVLRK oE5FCBrWtQU3Md6wqLO5W7b6vWZUQx7vLEYQ== X-Received: by 2002:a17:907:3f05:b0:bcf:872a:d5df with SMTP id a640c23a62f3a-bcf872bc531mr17752666b.1.1778411314588; Sun, 10 May 2026 04:08:34 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:34 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 3/6] dt-bindings: mfd: motorola-cpcap: convert to DT schema Date: Sun, 10 May 2026 14:08:01 +0300 Message-ID: <20260510110804.33045-4-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Rob Herring (Arm) --- .../bindings/mfd/motorola,cpcap.yaml | 414 ++++++++++++++++++ .../bindings/mfd/motorola-cpcap.txt | 78 ---- 2 files changed, 414 insertions(+), 78 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.ya= ml delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Do= cumentation/devicetree/bindings/mfd/motorola,cpcap.yaml new file mode 100644 index 000000000000..7f257f3a1a5a --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml @@ -0,0 +1,414 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Motorola CPCAP PMIC MFD + +maintainers: + - Svyatoslav Ryhel + +allOf: + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + items: + - const: motorola,cpcap + - const: st,6556002 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + spi-max-frequency: + maximum: 9600000 + + spi-cs-high: true + spi-cpol: true + spi-cpha: true + + adc: + $ref: /schemas/iio/adc/motorola,cpcap-adc.yaml# + + audio-codec: + type: object + additionalProperties: false + + properties: + interrupts: + items: + - description: headset detect interrupt + - description: microphone bias 2 detect interrupt + + interrupt-names: + items: + - const: hs + - const: mb2 + + "#sound-dai-cells": + const: 1 + + VAUDIO-supply: + description: + Codec power supply, usually VAUDIO regulator of CPCAP. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: port connected to the Stereo HiFi DAC + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: port connected to the Voice DAC + + required: + - port@0 + - port@1 + + required: + - interrupts + - interrupt-names + - "#sound-dai-cells" + + battery: + $ref: /schemas/power/supply/cpcap-battery.yaml# + + charger: + $ref: /schemas/power/supply/cpcap-charger.yaml# + + key-power: + $ref: /schemas/input/motorola,cpcap-pwrbutton.yaml# + + phy: + $ref: /schemas/phy/motorola,cpcap-usb-phy.yaml# + + regulator: + $ref: /schemas/regulator/motorola,cpcap-regulator.yaml# + + rtc: + $ref: /schemas/rtc/motorola,cpcap-rtc.yaml# + +patternProperties: + "^led(-[a-z]+)?$": + $ref: /schemas/leds/motorola,cpcap-leds.yaml# + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - "#interrupt-cells" + - spi-max-frequency + - "#address-cells" + - "#size-cells" + +additionalProperties: false + +examples: + - | + #include + #include + #include + + spi { + #address-cells =3D <1>; + #size-cells =3D <0>; + + cpcap: pmic@0 { + compatible =3D "motorola,cpcap", "st,6556002"; + reg =3D <0>; /* cs0 */ + + interrupt-parent =3D <&gpio1>; + interrupts =3D <7 IRQ_TYPE_EDGE_RISING>; + + interrupt-controller; + #interrupt-cells =3D <2>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + spi-max-frequency =3D <3000000>; + spi-cs-high; + + spi-cpol; + spi-cpha; + + cpcap_adc: adc { + compatible =3D "motorola,cpcap-adc"; + + interrupt-parent =3D <&cpcap>; + interrupts =3D <8 IRQ_TYPE_NONE>; + interrupt-names =3D "adcdone"; + + #io-channel-cells =3D <1>; + }; + + cpcap_audio: audio-codec { + interrupt-parent =3D <&cpcap>; + interrupts =3D <9 IRQ_TYPE_NONE>, <10 IRQ_TYPE_NONE>; + interrupt-names =3D "hs", "mb2"; + + VAUDIO-supply =3D <&vdd_audio>; + + #sound-dai-cells =3D <1>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* HiFi */ + port@0 { + reg =3D <0>; + + cpcap_audio_codec0: endpoint { + }; + }; + + /* Voice */ + port@1 { + reg =3D <1>; + + cpcap_audio_codec1: endpoint { + }; + }; + }; + }; + + cpcap_battery: battery { + compatible =3D "motorola,cpcap-battery"; + + interrupt-parent =3D <&cpcap>; + interrupts =3D <6 IRQ_TYPE_NONE>, <5 IRQ_TYPE_NONE>, + <3 IRQ_TYPE_NONE>, <20 IRQ_TYPE_NONE>, + <54 IRQ_TYPE_NONE>, <57 IRQ_TYPE_NONE>; + interrupt-names =3D "eol", "lowbph", "lowbpl", + "chrgcurr1", "battdetb", "cccal"; + + io-channels =3D <&cpcap_adc 0>, <&cpcap_adc 1>, + <&cpcap_adc 5>, <&cpcap_adc 6>; + io-channel-names =3D "battdetb", "battp", + "chg_isense", "batti"; + power-supplies =3D <&cpcap_charger>; + }; + + cpcap_charger: charger { + compatible =3D "motorola,mapphone-cpcap-charger"; + + interrupt-parent =3D <&cpcap>; + interrupts =3D <13 IRQ_TYPE_NONE>, <12 IRQ_TYPE_NONE>, + <29 IRQ_TYPE_NONE>, <28 IRQ_TYPE_NONE>, + <22 IRQ_TYPE_NONE>, <21 IRQ_TYPE_NONE>, + <20 IRQ_TYPE_NONE>, <19 IRQ_TYPE_NONE>, + <54 IRQ_TYPE_NONE>; + interrupt-names =3D "chrg_det", "rvrs_chrg", "chrg_se1b", + "se0conn", "rvrs_mode", "chrgcurr2", + "chrgcurr1", "vbusvld", "battdetb"; + + mode-gpios =3D <&gpio3 29 GPIO_ACTIVE_LOW>, + <&gpio3 23 GPIO_ACTIVE_LOW>; + + io-channels =3D <&cpcap_adc 0>, <&cpcap_adc 1>, + <&cpcap_adc 2>, <&cpcap_adc 5>, + <&cpcap_adc 6>; + io-channel-names =3D "battdetb", "battp", + "vbus", "chg_isense", + "batti"; + }; + + key-power { + compatible =3D "motorola,cpcap-pwrbutton"; + + interrupt-parent =3D <&cpcap>; + interrupts =3D <23 IRQ_TYPE_NONE>; + }; + + led-red { + compatible =3D "motorola,cpcap-led-red"; + vdd-supply =3D <&vdd_led>; + label =3D "status-led::red"; + }; + + led-green { + compatible =3D "motorola,cpcap-led-green"; + vdd-supply =3D <&vdd_led>; + label =3D "status-led::green"; + }; + + led-blue { + compatible =3D "motorola,cpcap-led-blue"; + vdd-supply =3D <&vdd_led>; + label =3D "status-led::blue"; + }; + + cpcap_usb2_phy: phy { + compatible =3D "motorola,cpcap-usb-phy"; + + pinctrl-0 =3D <&usb_gpio_mux_sel1>, <&usb_gpio_mux_sel2>; + pinctrl-1 =3D <&usb_ulpi_pins>; + pinctrl-2 =3D <&usb_utmi_pins>; + pinctrl-3 =3D <&uart3_pins>; + pinctrl-names =3D "default", "ulpi", "utmi", "uart"; + #phy-cells =3D <0>; + + interrupts-extended =3D + <&cpcap 15 IRQ_TYPE_NONE>, <&cpcap 14 IRQ_TYPE_NONE>, + <&cpcap 28 IRQ_TYPE_NONE>, <&cpcap 19 IRQ_TYPE_NONE>, + <&cpcap 18 IRQ_TYPE_NONE>, <&cpcap 17 IRQ_TYPE_NONE>, + <&cpcap 16 IRQ_TYPE_NONE>, <&cpcap 49 IRQ_TYPE_NONE>, + <&cpcap 48 IRQ_TYPE_NONE>; + interrupt-names =3D "id_ground", "id_float", "se0conn", + "vbusvld", "sessvld", "sessend", + "se1", "dm", "dp"; + + mode-gpios =3D <&gpio2 28 GPIO_ACTIVE_HIGH>, + <&gpio1 0 GPIO_ACTIVE_HIGH>; + + io-channels =3D <&cpcap_adc 2>, <&cpcap_adc 7>; + io-channel-names =3D "vbus", "id"; + + vusb-supply =3D <&avdd_usb>; + }; + + regulator { + compatible =3D "motorola,cpcap-regulator"; + + regulators { + vdd_cpu: SW1 { + regulator-name =3D "vdd_cpu"; + regulator-min-microvolt =3D <750000>; + regulator-max-microvolt =3D <1125000>; + regulator-enable-ramp-delay =3D <1500>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_core: SW2 { + regulator-name =3D "vdd_core"; + regulator-min-microvolt =3D <950000>; + regulator-max-microvolt =3D <1300000>; + regulator-enable-ramp-delay =3D <1500>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_1v8_vio: SW3 { + regulator-name =3D "vdd_1v8_vio"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-enable-ramp-delay =3D <0>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_aon: SW4 { + regulator-name =3D "vdd_aon"; + regulator-min-microvolt =3D <950000>; + regulator-max-microvolt =3D <1300000>; + regulator-enable-ramp-delay =3D <1500>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_led: SW5 { + regulator-name =3D "vdd_led"; + regulator-min-microvolt =3D <5050000>; + regulator-max-microvolt =3D <5050000>; + regulator-enable-ramp-delay =3D <1500>; + regulator-boot-on; + }; + + vdd_hvio: VHVIO { + regulator-name =3D "vdd_hvio"; + regulator-min-microvolt =3D <2775000>; + regulator-max-microvolt =3D <2775000>; + regulator-enable-ramp-delay =3D <1000>; + }; + + vcore_emmc: VSDIO { + regulator-name =3D "vcore_emmc"; + regulator-min-microvolt =3D <1500000>; + regulator-max-microvolt =3D <3000000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-always-on; + regulator-boot-on; + }; + + avdd_dsi_csi: VCSI { + regulator-name =3D "avdd_dsi_csi"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-boot-on; + }; + + avdd_3v3_periph: VWLAN2 { + regulator-name =3D "avdd_3v3_periph"; + regulator-min-microvolt =3D <2775000>; + regulator-max-microvolt =3D <3300000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-boot-on; + }; + + vddio_usd: VSIMCARD { + regulator-name =3D "vddio_usd"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2900000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-boot-on; + }; + + vdd_haptic: VVIB { + regulator-name =3D "vdd_haptic"; + regulator-min-microvolt =3D <1300000>; + regulator-max-microvolt =3D <3000000>; + regulator-enable-ramp-delay =3D <1000>; + }; + + avdd_usb: VUSB { + regulator-name =3D "avdd_usb"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_audio: VAUDIO { + regulator-name =3D "vdd_audio"; + regulator-min-microvolt =3D <2775000>; + regulator-max-microvolt =3D <2775000>; + regulator-enable-ramp-delay =3D <1000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; + + cpcap_rtc: rtc { + compatible =3D "motorola,cpcap-rtc"; + + interrupt-parent =3D <&cpcap>; + interrupts =3D <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>; + }; + }; + }; + +... diff --git a/Documentation/devicetree/bindings/mfd/motorola-cpcap.txt b/Doc= umentation/devicetree/bindings/mfd/motorola-cpcap.txt deleted file mode 100644 index 18c3fc26ca93..000000000000 --- a/Documentation/devicetree/bindings/mfd/motorola-cpcap.txt +++ /dev/null @@ -1,78 +0,0 @@ -Motorola CPCAP PMIC device tree binding - -Required properties: -- compatible : One or both of "motorola,cpcap" or "ste,6556002" -- reg : SPI chip select -- interrupts : The interrupt line the device is connected to -- interrupt-controller : Marks the device node as an interrupt controller -- #interrupt-cells : The number of cells to describe an IRQ, should be 2 -- #address-cells : Child device offset number of cells, should be 1 -- #size-cells : Child device size number of cells, should be 0 -- spi-max-frequency : Typically set to 3000000 -- spi-cs-high : SPI chip select direction - -Optional subnodes: - -The sub-functions of CPCAP get their own node with their own compatible va= lues, -which are described in the following files: - -- Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml -- Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml -- Documentation/devicetree/bindings/regulator/cpcap-regulator.txt -- Documentation/devicetree/bindings/phy/motorola,cpcap-usb-phy.yaml -- Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt -- Documentation/devicetree/bindings/rtc/cpcap-rtc.txt -- Documentation/devicetree/bindings/leds/leds-cpcap.txt -- Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml - -The only exception is the audio codec. Instead of a compatible value its -node must be named "audio-codec". - -Required properties for the audio-codec subnode: - -- #sound-dai-cells =3D <1>; -- interrupts : should contain jack detection interrupts, with headset - detect interrupt matching "hs" and microphone bias 2 - detect interrupt matching "mb2" in interrupt-names. -- interrupt-names : Contains "hs", "mb2" - -The audio-codec provides two DAIs. The first one is connected to the -Stereo HiFi DAC and the second one is connected to the Voice DAC. - -Example: - -&mcspi1 { - cpcap: pmic@0 { - compatible =3D "motorola,cpcap", "ste,6556002"; - reg =3D <0>; /* cs0 */ - interrupt-parent =3D <&gpio1>; - interrupts =3D <7 IRQ_TYPE_EDGE_RISING>; - interrupt-controller; - #interrupt-cells =3D <2>; - #address-cells =3D <1>; - #size-cells =3D <0>; - spi-max-frequency =3D <3000000>; - spi-cs-high; - - audio-codec { - #sound-dai-cells =3D <1>; - interrupts-extended =3D <&cpcap 9 0>, <&cpcap 10 0>; - interrupt-names =3D "hs", "mb2"; - - /* HiFi */ - port@0 { - endpoint { - remote-endpoint =3D <&cpu_dai1>; - }; - }; - - /* Voice */ - port@1 { - endpoint { - remote-endpoint =3D <&cpu_dai2>; - }; - }; - }; - }; -}; - --=20 2.51.0 From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.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 E860737F017 for ; Sun, 10 May 2026 11:08:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411321; cv=none; b=BOdh58PGbgEKhWzUSG/SdSO3MZNpkXDOShf2PJ7VFvwltR2NVxYlDC1WvwaOtB/4qzHmAvWq8gmQIVRaNzb+MocULQ2An8pRW4Gg74CyYM5zdAFuIwHQxv6A422rgE0o55k5LbSRUuK1U9qkPzjGEpvmvQQpEMzHAasw4kcYgr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411321; c=relaxed/simple; bh=0gEwZwS/FYqnGRZ59VSyvYE3yvqWMDCYZCh5Jh3+mCc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aGN73AA0WbOEs6VDcV6TDFGcIOcyu3E91VLIhTYTwMSOlvMB3V0/OZhKIGX8lcNZV+7wikLzCaS8i/D1PxfEQa8js5bBf7ZIcbNDK7Hq2qwfiCHs6HehzBIqOdXX5HWTYd0i9U5dELTbfFkaNuu5CqA/MOZQiGOTnXAwXXtqVgU= 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=RO+irBu1; arc=none smtp.client-ip=209.85.218.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="RO+irBu1" Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-bc1f3a393c0so513284966b.0 for ; Sun, 10 May 2026 04:08:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411316; x=1779016116; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l4Ch5JjZSDRX/44ND7WHKAD/uEQw2ql3s+wN8Su8rG0=; b=RO+irBu1+Op4h8XLB/uOeezErvpufWhbhQfHy5rZJlMQKm6cBxFxaLi+wzVGkDDaUa 20vdiA9Ab795fNmJAxIS5Dp/pW5NrhOwM7oi3E/yBw/PCmFh8OKSLslX/K/3/6PsgTwp u4TP9tsq7C3guBfhlfXBbahXQeDTv1G2VEtZT4QXUn4Qd60rt8KfrzzsXFmIiin8BoZV 2nipEWSmt6WcN4/mv7GRHMxd5dLZcnHzz+1OpC33hli3p/6anmquhc50lkztT0biggxz k2zoqWW+2IMQvOtFrdsIoFHb4jKFLItvK3n0xb5N2xVX3jRdt7MTRPc+1J80Oi7+DZMf 1ruA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411316; x=1779016116; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=l4Ch5JjZSDRX/44ND7WHKAD/uEQw2ql3s+wN8Su8rG0=; b=h4Ka0VbTBkeC3WpqkY6lay/BfN5YOogpa11f04lyab4mW3BnwKu2nkyphrZru940ZU uYBD8+2qVBAoxNiivX+DPg/Cprw7zb0vJY4MMBXaLf01DGXl+pXtqIPfchYfEq1o7sc3 O27VHc2J4HvNTi+e9bRuzKKPEvvHGAXqCAQCoXbQyAiy8xj+AhKO8xV9WZru/TA3XShj JbMIfEvDcC8LXGrx/pHCKp1tBn4PCQ9xT8lRFaU5EaeqiqkewMxpT5EPfEAf8FsyUyTG sPHF1frk+KayHvmwcH9OcZ0ODPZbRg7p3LIHSrq3rTh4n6SJd83TEq2vbOMhq4fd1g/E jz7g== X-Forwarded-Encrypted: i=1; AFNElJ+TZfdjy6IiceYJRzlq0usRukLae3EdDE/nmhSwwDA0yFsLzAClHdCOd5KAhDe+UboqMtOU1sQweHPp4DE=@vger.kernel.org X-Gm-Message-State: AOJu0Yzy8zcPY7eAElfkJeU543gZbxzS0MPdnJFx5DZLeificTZtXvEz 4u9cCrOwD6ZszrR2CkTaVPEdntdYQXlB8FayFUfcT44fX1UViVOwAuzM X-Gm-Gg: Acq92OG4/m8quPhLMsct5N6/M6n00e0QWkoAYbCpPNYGkbT9fle2eiYiTiA/6rqTues OuM93JQwyCg2viMLZiqHaSayvq0KAfldDDzd5dTvU72b8TwJpuhdWpH++Fcfl38GwEi4FXFUYsJ cbHvneszP0pZRIktRsUm/NZAXGEBikgSOb68KPHq5LrY62IRVdjAS2NxsaXysZGczTYSmeyJxgj G0FYoz7aO7EqujUxXrTECG/3IuMFbYWrMSiXEqToCGaeV1yCUFMYAkQG4xfSXrA5YnW7pntKWGt UTtMOyXRWOK8Jc/WMt9+JZEEgRP2KFIxHKzqVEExr5cgwmMctOViv/umeS0Jpg1IzIgfgRMKMAq m2sLkbU/JQ4x3GMfrX2JcwG9lBxWX1G8D8yn0oGpEpmPGg1c9vBWUDrLBFtRJAvotY4nOJkYkAL iBm9zegijefm/3DUY0uWU7WSs= X-Received: by 2002:a17:907:3d89:b0:bcb:e626:523a with SMTP id a640c23a62f3a-bcc14b9b4camr232992066b.40.1778411315731; Sun, 10 May 2026 04:08:35 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:35 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 4/6] dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP Date: Sun, 10 May 2026 14:08:02 +0300 Message-ID: <20260510110804.33045-5-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add compatibles for Mapphone and Mot CPCAP subdevice compositions. Both variations cannot use st,6556002 fallback since they may be based on different controllers. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Rob Herring (Arm) --- .../devicetree/bindings/mfd/motorola,cpcap.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Do= cumentation/devicetree/bindings/mfd/motorola,cpcap.yaml index 7f257f3a1a5a..542d149d2b39 100644 --- a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml @@ -14,9 +14,14 @@ allOf: =20 properties: compatible: - items: - - const: motorola,cpcap - - const: st,6556002 + oneOf: + - enum: + - motorola,mapphone-cpcap + - motorola,mot-cpcap + + - items: + - const: motorola,cpcap + - const: st,6556002 =20 reg: maxItems: 1 --=20 2.51.0 From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 DC31237F01C for ; Sun, 10 May 2026 11:08:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411322; cv=none; b=HTcMBsuqrkJXUf6evdVR6TeNKYQFJGOTGiEx7JJd5OAnJvz0JExLhc7nfqwhdMzGJ5zCFkKbpTDgR/tO2UZpaFHdM2gHeLqzwCeNZ4ONlONyEPGpAESY4KEAAJ4dcHlicEcMsF++NlH2KxNwMZ3dZd2W5197Z/wboBlh7JX2Y6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411322; c=relaxed/simple; bh=h2fH+9JxaTA+3YN6pQmYivqu5WqGhmIv06d25+MV+iU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JGbHn0zgLmx2jBHc/ao0qqoBh+JX97BF7tX4jVlFHjYiOoKDaKsYpvJpppqicgcVn8u3UlB+kcWNmZ/zJSyMqoNwpkmBlr8LP+O+ZTZPl7NEEXlfP5mrKyz5MTq58yKYnAKK3uy6SnsefV6mopZW0SkJRdo3aXPpsVI92KbyQvU= 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=l+5b0IUQ; arc=none smtp.client-ip=209.85.218.54 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="l+5b0IUQ" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-bcc9fdc959cso123773566b.2 for ; Sun, 10 May 2026 04:08:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411317; x=1779016117; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aVAaYCC/b8sB/+xZoh+WsYJWpP47TuMRhFWL9RvgVCE=; b=l+5b0IUQ+uPWSbm85NfhamKSBdYDgPKKrMJSXSjvBkvg3/PBxQU4txKX3jSUEX8KR9 cZCX6tyBzg+n3h2FpVObCcHDo5usft4xiBBdxOBmKhPbGIFS7+Bp/TK3O0mpVwd1dktQ FvMXo16AYZhQhjeEjTX9xf63SxOiCD/P7/CmeWMQa7qhSsMT/YJejteXO+1R922qal7T isVIOMQTFYy6hTm/8sVRsvLYZEjJe3pWwsbp5vy6f+3APCkFp2gATDdIp6P2hmD/59TN qGExnsOgQsrzHfCs6CT1tWchh25Gl06AY+KskG8pEFhFK7znTwsYZCeIJxPIhg0bCBtI lkIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411317; x=1779016117; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=aVAaYCC/b8sB/+xZoh+WsYJWpP47TuMRhFWL9RvgVCE=; b=E+iZy7DXKFp2wgHM8MQOTA7yt9sUwEyAzSr86VBXNbK7n8LvzB8z9DlD1QKF5nT5KU nXDHBKJG0RCcHSW5A0PoTAxWQav10UalBknltblFAZZCTrj6W4/VJlEgT6YC+c2Jy8J1 kXF071I9dGP0FlRPVfdnpmc261eNMWIngYsJ98lIqPNDGmS3h8jW8LAhTQ5UmLmjBC37 WUypTsU2zx0sjmxIyWvkpYfJAyR1661g/lyMXIyO18Qg/T/7Re5IH2DWo2dOakL7lz69 5Ws+WAkbrtdA4s6lhCD6kU8ETCwOqE1jHOYezCJo7HaZaYNrOcm+GWZubH/D7zI9QUlR ToqQ== X-Forwarded-Encrypted: i=1; AFNElJ8sGrFcQR1VmvYXTdQStwAc8bdh+0qLnZV0g4AbaqMSCANDiMjLV8ACK3BOTdqgF7cV1kOMhDtaPExqC7Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+bPd1f/cOJqBF0nwjgSGf2JgCkeqR2mAulh7q+vnLTwu/UbwP LmB06F25WZfpGhxzU953V810VUPPQskwiCku+McvhjeXUrk9Y87QEVr3 X-Gm-Gg: Acq92OHUBO+q8Id7efbwYgFId2Vz8WZHwpFV7Tt6ArK7JCm7Palebtm4jG6tT6DRVSp 0qnw1R8VQlESxynUhWdh/48xhAes184LmCg+WaRtQhhz4LIHw5zZXP1L5JUbCC7dsmbM/V1lfS3 kh594fuAB33bXxUNKXavU+JOJY93uo+3uFTg2nfgbPekVYz1k7ZHbo29DIDrNPFc7KxZgmhXsb4 CaJLLnvNDdbnM9HF6Rgi7N9AhsP5EjlYs+TNkLIQbbBixnLxn6Pc+7NjgVSXiVKbN0pEhliDcaG dakADhp0PnpgOcQlHoYL6eGYFuMqaKU/zRpKuIqIYpORQ5NsOzjNqMpyQCi0uWZbkGEqrW1EhiD v4AgwkCc3WazLS8SrRCmInPVZwV79Ob//IrX1yG4/iphsiZGOvav+IbkeYe+gUckqWcSh1PTNQI VGishF/7XPOcSIHVuxFAnUH1c= X-Received: by 2002:a17:907:a07:b0:ba4:f501:cb8b with SMTP id a640c23a62f3a-bc56b83947fmr1184792166b.16.1778411316870; Sun, 10 May 2026 04:08:36 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:36 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 5/6] mfd: motorola-cpcap: diverge configuration per-board Date: Sun, 10 May 2026 14:08:03 +0300 Message-ID: <20260510110804.33045-6-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" MFD have rigid subdevice structure which does not allow flexible dynamic subdevice linking. Address this by diverging CPCAP subdevice composition to take into account board specific configuration. Create a common default subdevice composition, rename existing subdevice composition into cpcap_mapphone_mfd_devices since it targets mainly Mapphone board. Removed st,6556002 as it is no longer applicable to all cases and duplicates motorola,cpcap, which is used as the default composition. Signed-off-by: Svyatoslav Ryhel --- drivers/mfd/motorola-cpcap.c | 142 ++++++++++++++++------------- include/linux/mfd/motorola-cpcap.h | 6 ++ 2 files changed, 87 insertions(+), 61 deletions(-) diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c index d8243b956f87..f5a7fdd89dd5 100644 --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include =20 @@ -30,6 +31,7 @@ struct cpcap_ddata { struct regmap_irq_chip_data *irqdata[CPCAP_NR_IRQ_CHIPS]; const struct regmap_config *regmap_conf; struct regmap *regmap; + enum cpcap_variant variant; }; =20 static int cpcap_sense_irq(struct regmap *regmap, int irq) @@ -195,20 +197,6 @@ static int cpcap_init_irq(struct cpcap_ddata *cpcap) return 0; } =20 -static const struct of_device_id cpcap_of_match[] =3D { - { .compatible =3D "motorola,cpcap", }, - { .compatible =3D "st,6556002", }, - {}, -}; -MODULE_DEVICE_TABLE(of, cpcap_of_match); - -static const struct spi_device_id cpcap_spi_ids[] =3D { - { .name =3D "cpcap", }, - { .name =3D "6556002", }, - {}, -}; -MODULE_DEVICE_TABLE(spi, cpcap_spi_ids); - static const struct regmap_config cpcap_regmap_config =3D { .reg_bits =3D 16, .reg_stride =3D 4, @@ -241,62 +229,76 @@ static int cpcap_resume(struct device *dev) =20 static DEFINE_SIMPLE_DEV_PM_OPS(cpcap_pm, cpcap_suspend, cpcap_resume); =20 -static const struct mfd_cell cpcap_mfd_devices[] =3D { - { - .name =3D "cpcap_adc", - .of_compatible =3D "motorola,mapphone-cpcap-adc", - }, { - .name =3D "cpcap_battery", - .of_compatible =3D "motorola,cpcap-battery", - }, { - .name =3D "cpcap-charger", - .of_compatible =3D "motorola,mapphone-cpcap-charger", - }, { - .name =3D "cpcap-regulator", - .of_compatible =3D "motorola,mapphone-cpcap-regulator", - }, { - .name =3D "cpcap-rtc", - .of_compatible =3D "motorola,cpcap-rtc", - }, { - .name =3D "cpcap-pwrbutton", - .of_compatible =3D "motorola,cpcap-pwrbutton", - }, { - .name =3D "cpcap-usb-phy", - .of_compatible =3D "motorola,mapphone-cpcap-usb-phy", - }, { - .name =3D "cpcap-led", - .id =3D 0, - .of_compatible =3D "motorola,cpcap-led-red", - }, { - .name =3D "cpcap-led", - .id =3D 1, - .of_compatible =3D "motorola,cpcap-led-green", - }, { - .name =3D "cpcap-led", - .id =3D 2, - .of_compatible =3D "motorola,cpcap-led-blue", - }, { - .name =3D "cpcap-led", - .id =3D 3, - .of_compatible =3D "motorola,cpcap-led-adl", - }, { - .name =3D "cpcap-led", - .id =3D 4, - .of_compatible =3D "motorola,cpcap-led-cp", - }, { - .name =3D "cpcap-codec", - } +static const struct mfd_cell cpcap_default_mfd_devices[] =3D { + MFD_CELL_OF("cpcap_adc", NULL, NULL, 0, 0, "motorola,cpcap-adc"), + MFD_CELL_OF("cpcap_battery", NULL, NULL, 0, 0, + "motorola,cpcap-battery"), + MFD_CELL_OF("cpcap-regulator", NULL, NULL, 0, 0, + "motorola,cpcap-regulator"), + MFD_CELL_OF("cpcap-rtc", NULL, NULL, 0, 0, "motorola,cpcap-rtc"), + MFD_CELL_OF("cpcap-pwrbutton", NULL, NULL, 0, 0, + "motorola,cpcap-pwrbutton"), + MFD_CELL_OF("cpcap-usb-phy", NULL, NULL, 0, 0, + "motorola,cpcap-usb-phy"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 0, "motorola,cpcap-led-red"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 1, "motorola,cpcap-led-green"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 2, "motorola,cpcap-led-blue"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 3, "motorola,cpcap-led-adl"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 4, "motorola,cpcap-led-cp"), + MFD_CELL_NAME("cpcap-codec"), +}; + +static const struct mfd_cell cpcap_mapphone_mfd_devices[] =3D { + MFD_CELL_OF("cpcap_adc", NULL, NULL, 0, 0, + "motorola,mapphone-cpcap-adc"), + MFD_CELL_OF("cpcap_battery", NULL, NULL, 0, 0, + "motorola,cpcap-battery"), + MFD_CELL_OF("cpcap-charger", NULL, NULL, 0, 0, + "motorola,mapphone-cpcap-charger"), + MFD_CELL_OF("cpcap-regulator", NULL, NULL, 0, 0, + "motorola,mapphone-cpcap-regulator"), + MFD_CELL_OF("cpcap-rtc", NULL, NULL, 0, 0, "motorola,cpcap-rtc"), + MFD_CELL_OF("cpcap-pwrbutton", NULL, NULL, 0, 0, + "motorola,cpcap-pwrbutton"), + MFD_CELL_OF("cpcap-usb-phy", NULL, NULL, 0, 0, + "motorola,mapphone-cpcap-usb-phy"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 0, "motorola,cpcap-led-red"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 1, "motorola,cpcap-led-green"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 2, "motorola,cpcap-led-blue"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 3, "motorola,cpcap-led-adl"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 4, "motorola,cpcap-led-cp"), + MFD_CELL_NAME("cpcap-codec"), }; =20 static int cpcap_probe(struct spi_device *spi) { struct cpcap_ddata *cpcap; + const struct mfd_cell *cells; + unsigned int num_cells; int ret; =20 cpcap =3D devm_kzalloc(&spi->dev, sizeof(*cpcap), GFP_KERNEL); if (!cpcap) return -ENOMEM; =20 + cpcap->variant =3D (enum cpcap_variant)spi_get_device_match_data(spi); + if (!cpcap->variant) + return -ENODEV; + + switch (cpcap->variant) { + case CPCAP_DEFAULT: + cells =3D cpcap_default_mfd_devices; + num_cells =3D ARRAY_SIZE(cpcap_default_mfd_devices); + break; + case CPCAP_MAPPHONE: + cells =3D cpcap_mapphone_mfd_devices; + num_cells =3D ARRAY_SIZE(cpcap_mapphone_mfd_devices); + break; + default: + return dev_err_probe(&spi->dev, -EINVAL, + "Unknown device %d\n", cpcap->variant); + } + cpcap->spi =3D spi; spi_set_drvdata(spi, cpcap); =20 @@ -331,10 +333,28 @@ static int cpcap_probe(struct spi_device *spi) spi->dev.coherent_dma_mask =3D 0; spi->dev.dma_mask =3D &spi->dev.coherent_dma_mask; =20 - return devm_mfd_add_devices(&spi->dev, 0, cpcap_mfd_devices, - ARRAY_SIZE(cpcap_mfd_devices), NULL, 0, NULL); + return devm_mfd_add_devices(&spi->dev, 0, cells, num_cells, NULL, 0, NULL= ); } =20 +static const struct of_device_id cpcap_of_match[] =3D { + { + .compatible =3D "motorola,cpcap", + .data =3D (void *)CPCAP_DEFAULT + }, { + .compatible =3D "motorola,mapphone-cpcap", + .data =3D (void *)CPCAP_MAPPHONE + }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, cpcap_of_match); + +static const struct spi_device_id cpcap_spi_ids[] =3D { + { "cpcap", CPCAP_DEFAULT }, + { "mapphone-cpcap", CPCAP_MAPPHONE }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(spi, cpcap_spi_ids); + static struct spi_driver cpcap_driver =3D { .driver =3D { .name =3D "cpcap-core", diff --git a/include/linux/mfd/motorola-cpcap.h b/include/linux/mfd/motorol= a-cpcap.h index 981e5777deb7..1a85b06272c8 100644 --- a/include/linux/mfd/motorola-cpcap.h +++ b/include/linux/mfd/motorola-cpcap.h @@ -25,6 +25,12 @@ #define CPCAP_REVISION_2_0 0x10 #define CPCAP_REVISION_2_1 0x11 =20 +enum cpcap_variant { + CPCAP_DEFAULT =3D 1, + CPCAP_MAPPHONE, + CPCAP_MAX +}; + /* CPCAP registers */ #define CPCAP_REG_INT1 0x0000 /* Interrupt 1 */ #define CPCAP_REG_INT2 0x0004 /* Interrupt 2 */ --=20 2.51.0 From nobody Sat Jun 13 04:50:04 2026 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 26A5537F75E for ; Sun, 10 May 2026 11:08:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411323; cv=none; b=gx6jo9cFNU69xIlUbHyjnDA1NytV/7L/BBSyl9Ee6eMJaFfSBZ5rl4y3Gk1Nk766yOvj3PwtxloPj4rF0QyFhArVGDnz1IHkeATYI+q+cd6XS18UgthBHZUmfDYoMkO9OipXC5Q12VswgZR0UqxitmuUi6oBvLcD5eHS0emetyA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778411323; c=relaxed/simple; bh=VWNSeXLpRAe/celgCxjIoqvqXwbqAv0wT7y/dppOsEI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Fg4fJwjZ04o7Th9Vcug3tZxqaIOcIegO48204MPW51upUEF0GBM0njkFBzBjXmy+Yds0dtl/Nus8Mpa9fvfC6KM9JM5M3V+5CTIpouGgxdhd89TVYBGGIu1O/YXu7sYxWr42OO6zifmOZLaUL+DNI+vT05oid9rslTQoLLp6OrM= 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=nQGubsfo; arc=none smtp.client-ip=209.85.218.50 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="nQGubsfo" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-ba922426c5cso601422366b.3 for ; Sun, 10 May 2026 04:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778411319; x=1779016119; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t1KCdtbuRFFxdaXY/A3Jna+lCae9dBlkmFTwEdkEb4o=; b=nQGubsfou3ClYBu3/P4QGarS7yV8KMiiaMc8doQVWYXnu6BKfXgv+VYb3IEgUMXxTQ 20JcD18wb1Ay2TUg/L3glAKx1wBH+reWA6tFgRELgYKP+FSZTUWrVdMJ+mp1xotEF+EC zF/E8/xZJidEv1azSL+rp9GZijFV3rc9CH3kQg2Z63Qyfmo8xDchakDgL1qONWe1RoQQ tAPfKqxOdp+dLFSSR8KKZ7x5GNu1ulTHp3qN4R6exZTtgVElhWbNqVHNFFCRG7OBx+jM O953MUg9iWU8NRsJ6aEm219F3o05vW3E1/IQlR+WfWymIlCrFaWplSvBxwEODi8RtQkj mlmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778411319; x=1779016119; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=t1KCdtbuRFFxdaXY/A3Jna+lCae9dBlkmFTwEdkEb4o=; b=B3DPhBJwc8Av8stZ8rlQThF8hd+Wob/MCVCdVODMDhaKLDnpcQdqN2l6DwHq9awGDQ St+LpyEryoVQ8pJU7Vct2SXeJiIfN1SZetq9RWTf6MBeZVjzDow6fNNlOy20XS/4xymH mhiljhZ6uRIjbayMDMMCyj3lFwpftLBAjxf3HUs9KWQ7m6UnTU/wpflIm6V48PcwRB8z EpxN0WG8uGottsVpQovQLAOBFZOOi9wcjL/cu9Rjo6duWsw1MNYzkkFrsNwg8DN8UXwy kj/zQvBfdb/auWSRE5isrwwEBHqJYgFz3vvNvVftaKxeJB/gLdI7Gf9mKf1VvneTS5j+ 0+Zg== X-Forwarded-Encrypted: i=1; AFNElJ/iGdeAsxrHmIZcgvGbhJt671BipKQ4VEnRyTdHMUe6ShpqdVNhqfdv6jmRr7oXL11xnmZSN2nlpGpqKrc=@vger.kernel.org X-Gm-Message-State: AOJu0YyxA/IOiDqCaqwsBX/o+VfsUIdO7CnDEoqp4lj6Y0KA77+Yp0WU eiLK97g3x2/wIWlUQd3mciSwd7s3UWRL3+C9mw2DfoN9tOG+UdKw9RuR X-Gm-Gg: Acq92OHmtL9xfgUqVGpbpYWioE1HojE0PmHcN6c7gOnaf5xZRNmDqjzpee2/i38tBgg Mt0JtUPdCpjfRPoZ0JCEuvNJ10B2+O28oE5GHKf45MBQMSyjnzUh+4wjXwxro2MVbe6x1wp5ESf 4DS3l6vv8S9XtGs6Oeagy44GO6KJ2nidHCI4l9S5vuuo0+nEFV83SJXj+VyaRdUu861aFWl98eC FmERNf8Fdu+ikKtp3DKe9eFqg/LW4g0lP8VRyvw7axXFWSkkx/XlGNbb4T+BW9/XEowQ+8gqVwC pGoz4ySYha8/K8di2d8R/5bK76oF9uoiWBNLh/QZPqtNr1RXZyHsM64D4mcMFViHICcr5txqXtI 9PIe7YQNTldU1qbfK9p5rQiojV7PmZe30BpkvD4NfebFyV15MgzO3g3Ars3ycP5JaCRs77OFGuM NfSfAEVEE3331M X-Received: by 2002:a17:907:868a:b0:bcb:ea69:39c8 with SMTP id a640c23a62f3a-bcbea694c4fmr319764566b.38.1778411319038; Sun, 10 May 2026 04:08:39 -0700 (PDT) Received: from xeon ([188.163.112.56]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bce7a3fcb57sm68146866b.60.2026.05.10.04.08.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 May 2026 04:08:37 -0700 (PDT) From: Svyatoslav Ryhel To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Pavel Machek , Svyatoslav Ryhel , David Lechner , Tony Lindgren Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-leds@vger.kernel.org Subject: [PATCH v5 6/6] mfd: motorola-cpcap: add support for Mot CPCAP composition Date: Sun, 10 May 2026 14:08:04 +0300 Message-ID: <20260510110804.33045-7-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260510110804.33045-1-clamor95@gmail.com> References: <20260510110804.33045-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a MFD subdevice composition used in Tegra20 based Mot board (Motorola Atrix 4G and Droid X2). Signed-off-by: Svyatoslav Ryhel --- drivers/mfd/motorola-cpcap.c | 30 ++++++++++++++++++++++++++++++ include/linux/mfd/motorola-cpcap.h | 1 + 2 files changed, 31 insertions(+) diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c index f5a7fdd89dd5..bd9fb0d61ba6 100644 --- a/drivers/mfd/motorola-cpcap.c +++ b/drivers/mfd/motorola-cpcap.c @@ -270,6 +270,28 @@ static const struct mfd_cell cpcap_mapphone_mfd_device= s[] =3D { MFD_CELL_NAME("cpcap-codec"), }; =20 +/* + * The Mot board features a USB-PHY and charger similar to the ones in + * Mapphone; however, because Mot is based on Tegra20, it is incompatible + * with the existing implementation, which is tightly interconnected with + * the OMAP USB PHY. + */ +static const struct mfd_cell cpcap_mot_mfd_devices[] =3D { + MFD_CELL_OF("cpcap_adc", NULL, NULL, 0, 0, "motorola,mot-cpcap-adc"), + MFD_CELL_OF("cpcap_battery", NULL, NULL, 0, 0, + "motorola,cpcap-battery"), + MFD_CELL_OF("cpcap-regulator", NULL, NULL, 0, 0, + "motorola,mot-cpcap-regulator"), + MFD_CELL_OF("cpcap-rtc", NULL, NULL, 0, 0, "motorola,cpcap-rtc"), + MFD_CELL_OF("cpcap-pwrbutton", NULL, NULL, 0, 0, + "motorola,cpcap-pwrbutton"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 0, "motorola,cpcap-led-red"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 1, "motorola,cpcap-led-green"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 2, "motorola,cpcap-led-blue"), + MFD_CELL_OF("cpcap-led", NULL, NULL, 0, 3, "motorola,cpcap-led-adl"), + MFD_CELL_NAME("cpcap-codec"), +}; + static int cpcap_probe(struct spi_device *spi) { struct cpcap_ddata *cpcap; @@ -294,6 +316,10 @@ static int cpcap_probe(struct spi_device *spi) cells =3D cpcap_mapphone_mfd_devices; num_cells =3D ARRAY_SIZE(cpcap_mapphone_mfd_devices); break; + case CPCAP_MOT: + cells =3D cpcap_mot_mfd_devices; + num_cells =3D ARRAY_SIZE(cpcap_mot_mfd_devices); + break; default: return dev_err_probe(&spi->dev, -EINVAL, "Unknown device %d\n", cpcap->variant); @@ -343,6 +369,9 @@ static const struct of_device_id cpcap_of_match[] =3D { }, { .compatible =3D "motorola,mapphone-cpcap", .data =3D (void *)CPCAP_MAPPHONE + }, { + .compatible =3D "motorola,mot-cpcap", + .data =3D (void *)CPCAP_MOT }, { /* sentinel */ } }; @@ -351,6 +380,7 @@ MODULE_DEVICE_TABLE(of, cpcap_of_match); static const struct spi_device_id cpcap_spi_ids[] =3D { { "cpcap", CPCAP_DEFAULT }, { "mapphone-cpcap", CPCAP_MAPPHONE }, + { "mot-cpcap", CPCAP_MOT }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(spi, cpcap_spi_ids); diff --git a/include/linux/mfd/motorola-cpcap.h b/include/linux/mfd/motorol= a-cpcap.h index 1a85b06272c8..bb23363eeccd 100644 --- a/include/linux/mfd/motorola-cpcap.h +++ b/include/linux/mfd/motorola-cpcap.h @@ -28,6 +28,7 @@ enum cpcap_variant { CPCAP_DEFAULT =3D 1, CPCAP_MAPPHONE, + CPCAP_MOT, CPCAP_MAX }; =20 --=20 2.51.0