Received: by 2002:ab2:7b86:0:b0:1f7:5705:b850 with SMTP id q6csp575590lqh; Sat, 4 May 2024 12:47:51 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUK4QjXBic6GmE0UdOUANfRKipy8KtUDz0dTA7v6hbpEvYV3Nhk24QG4MN44CHdfUxE7c3chBfiL8TCJGJFIERe1nuk4Uaa6nEqmHZZ9g== X-Google-Smtp-Source: AGHT+IFnPmzIGi/aAX8PmPAfGXGbCeG1NJa55I/5Ju22f2CdtVVJtP88JwxRKdvvK5qhqfo4rof1 X-Received: by 2002:a05:6870:224a:b0:22e:d40f:e4e2 with SMTP id j10-20020a056870224a00b0022ed40fe4e2mr7658414oaf.5.1714852071260; Sat, 04 May 2024 12:47:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714852071; cv=pass; d=google.com; s=arc-20160816; b=RAwadg287Eo5zvnexTCly7Tcoh9oWD5Ug9/IywJ5BNSZdR/FbSvFZUaFV0thPvR+q4 +v6CzUWd95fJO5lGlwFnFK1oyk0Op3cFije1X7Q78INJAyFj4XBg3N+eNVIFcA/BJXuH PjOTyF2CqHfFCBnCll1cEnv3n+3KpfJS2AMLLNSOkR7zCOV2g1VwDSJ600DW3Xply/fj hr2OJDnhzfx8q+kH0N0ccYXLMYzZQQnfYHFJm8AFsMHNrnad8pGnn9GVDBHvemgPedcX QeOit8u+yisaE54UIR2YCiXjAZm73z0s7jvSRMlpAPoZyPYzgHw3pF8HSC5Chb+/K8oD Dt6g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=yoXes3T8ZbZ3DnhYT18+cGNOATX7w7wWaeHO5qdkaRM=; fh=fMj999yRE4t8Lbh5PeP12BBF/1UAW0AuXV4HlxmoxBc=; b=xQoosdoO+yKo0ncA9F1NwmdZvtnP/iZjSOXfP9BLXkyXA6ly6tjWmBEdBBOj3syku3 CFo2rh8m18r/+pmyTCz+QpWt9Tr4dDwqozqL5SDEXqfh9aKMi5rxWDhOqt1xONb7p4Xr vh99o1mMTbYOuTiZsOrbRiOQkC2rkz711E4b10M4YJzAZisWNYgs6sbumpjfi0lgztRK ac+nogcHt/gRZv1S60X/JMTQHlObKUvqLA+DfDlM/qBsVdVtEeFlCQchxlQXUfopL5uG ootKogUa8lFuKp8y+iIROXxejHvgTBefH3vFJ7wcoe6IlQTogiGlBheifJCqcHyzClZL bJpQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mff.cuni.cz header.s=submission header.b=Yxq1a95O; arc=pass (i=1 spf=pass spfdomain=matfyz.cz dkim=pass dkdomain=mff.cuni.cz dmarc=pass fromdomain=matfyz.cz); spf=pass (google.com: domain of linux-kernel+bounces-168808-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-168808-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=matfyz.cz Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id e1-20020a63f541000000b005d8bef48a86si4511950pgk.876.2024.05.04.12.47.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 May 2024 12:47:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-168808-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@mff.cuni.cz header.s=submission header.b=Yxq1a95O; arc=pass (i=1 spf=pass spfdomain=matfyz.cz dkim=pass dkdomain=mff.cuni.cz dmarc=pass fromdomain=matfyz.cz); spf=pass (google.com: domain of linux-kernel+bounces-168808-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-168808-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=matfyz.cz Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id D405128240A for ; Sat, 4 May 2024 19:47:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B385B84D0E; Sat, 4 May 2024 19:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mff.cuni.cz header.i=@mff.cuni.cz header.b="Yxq1a95O" Received: from smtp1.ms.mff.cuni.cz (smtp-in1.ms.mff.cuni.cz [195.113.20.234]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 419CF1EF01; Sat, 4 May 2024 19:47:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.113.20.234 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714852057; cv=none; b=oZOy/ZknX4k+Sr24OBlUwZLdjch5KlZYb7kzvVTE7eWnlRgHDBk5CcYIL5qOs96a7Z/+xRNU1BfKQzW/4sg6+g4rIKi+ZbTuvlRDokKKRIEOwkeKdv7gmC4uagi6WcgPWdKgguKtrt5hjwRKIHMf4w0faINLZOInjNnCJ+o1hnk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714852057; c=relaxed/simple; bh=/WrnDCzpka+2oFw0aiMtpn86OKLmLTHlxxKb0BiZCSI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WNRCcmbYTNs/RrzG27ikZJlOF2voGtbacLpj5XgbI2KZaCKfSkjx+2RV5MlMWSfJDxK9ECD/438gMsEnooJBB/kEvMwnHmW2jk2+E52U4zc09Z4Hn+aEmBTFwaEZVnNJ85L2SwCxiyMDY+wF1OsxyCO1qtZ3il24eR/U5MEorR8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=matfyz.cz; spf=pass smtp.mailfrom=matfyz.cz; dkim=pass (2048-bit key) header.d=mff.cuni.cz header.i=@mff.cuni.cz header.b=Yxq1a95O; arc=none smtp.client-ip=195.113.20.234 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=matfyz.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=matfyz.cz X-SubmittedBy: id balejk@matfyz.cz subject /postalCode=110+2000/O=Univerzita+20Karlova/street=Ovocn+5CxC3+5CxBD+20trh+20560/5/ST=Praha,+20Hlavn+5CxC3+5CxAD+20m+5CxC4+5Cx9Bsto/C=CZ/CN=Karel+20Balej/emailAddress=balejk@matfyz.cz serial F5FD910E8FE2121B897F7E55B84E351D issued by /C=NL/O=GEANT+20Vereniging/CN=GEANT+20Personal+20CA+204 auth type TLS.CUNI DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mff.cuni.cz; s=submission; t=1714852020; x=1716152020; bh=yoXes3T8ZbZ3DnhYT18+cGNOATX7w7wWaeHO5qdkaRM=; h=From; b=Yxq1a95ONuj7C+bbpEQYwiysE0hb3j4GgRwC13H7JQsARbvakBuyv6JlMQc03SqsB ynuW2FfFHNavPyck3qpnsEr663YpaNJr+jIfDU0ukBXk0pfaUfXV0HxHdGeHAKDzIU 8gT924nMnvY2joGOrUNOk8v+dWDDTc5Emc9exTUNo/rLc+XSG9HZju0BJ9mr6xC3aG Zc9TW9u4p1zDuIW6cm29QKu4gUA7wgFQoMYiNS7Q5YL8vp4zb3I5kkwP4x59PkbPE6 jxOx0hi75ASVU83FKsBZr8BiNG1dYSFV+m/f9VD0h0x6ZJJTzjjRFxkbXysrgrfV1M MLpt6/aM+Fy5w== Received: from localhost (internet5.mraknet.com [185.200.108.250]) (authenticated) by smtp1.ms.mff.cuni.cz (8.16.1/8.16.1) with ESMTPS id 444JkwUn074171 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Sat, 4 May 2024 21:47:00 +0200 (CEST) (envelope-from balejk@matfyz.cz) From: Karel Balej To: Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Torokhov , Liam Girdwood , Mark Brown , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org Cc: =?UTF-8?q?Duje=20Mihanovi=C4=87?= , ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org, balejk@matfyz.cz Subject: [PATCH v6 0/5] initial support for Marvell 88PM886 PMIC Date: Sat, 4 May 2024 21:37:03 +0200 Message-ID: <20240504194632.2456-1-balejk@matfyz.cz> X-Mailer: git-send-email 2.45.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hello, the following implements basic support for Marvell's 88PM886 PMIC which is found for instance as a component of the samsung,coreprimevelte smartphone which inspired this and also serves as a testing platform. The code for the MFD is based primarily on this old series [1] with the addition of poweroff based on the smartphone's downstream kernel tree [2]. The onkey and regulators drivers are based on the latter. I am not in possesion of the datasheet. [1] https://lore.kernel.org/all/1434098601-3498-1-git-send-email-yizhang@marvell.com/ [2] https://github.com/CoderCharmander/g361f-kernel Thank you and kind regards, K. B. --- v6: - Rebase to v6.9-rc6. - Fix patchset versioning: the previous version was marked as v1 because I considered RFC to be its own thing. Thank you to Krzysztof for explaining that that is not the case. The previous version is thus now marked as v5 and this is v6, sorry for any confusion. - v5: https://lore.kernel.org/r/20240331105608.7338-2-balejk@matfyz.cz/ v5: - RFC v4: https://lore.kernel.org/r/20240311160110.32185-1-karelb@gimli.ms.mff.cuni.cz/ - Rebase to v6.9-rc1. - Thank you to everybody for their feedback on the RFC! RFC v4: - RFC v3: https://lore.kernel.org/all/20240303101506.4187-1-karelb@gimli.ms.mff.cuni.cz/ RFC v3: - Address Rob's feedback: - Drop onkey bindings patch. - Rename PM88X -> PM886 everywhere. - RFC v2: https://lore.kernel.org/all/20240211094609.2223-1-karelb@gimli.ms.mff.cuni.cz/ RFC v2: - Merge with the regulators series to have multiple devices and thus justify the use of the MFD framework. - Rebase on v6.8-rc3. - Reorder patches. - MFD RFC v1: https://lore.kernel.org/all/20231217131838.7569-1-karelb@gimli.ms.mff.cuni.cz/ - regulators RFC v1: https://lore.kernel.org/all/20231228100208.2932-1-karelb@gimli.ms.mff.cuni.cz/ Karel Balej (5): dt-bindings: mfd: add entry for Marvell 88PM886 PMIC mfd: add driver for Marvell 88PM886 PMIC regulator: add regulators driver for Marvell 88PM886 PMIC input: add onkey driver for Marvell 88PM886 PMIC MAINTAINERS: add myself for Marvell 88PM886 PMIC .../bindings/mfd/marvell,88pm886-a1.yaml | 76 +++ MAINTAINERS | 9 + drivers/input/misc/88pm886-onkey.c | 98 ++++ drivers/input/misc/Kconfig | 7 + drivers/input/misc/Makefile | 1 + drivers/mfd/88pm886.c | 148 ++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/regulator/88pm886-regulator.c | 476 ++++++++++++++++++ drivers/regulator/Kconfig | 6 + drivers/regulator/Makefile | 1 + include/linux/mfd/88pm886.h | 69 +++ 12 files changed, 904 insertions(+) create mode 100644 Documentation/devicetree/bindings/mfd/marvell,88pm886-a1.yaml create mode 100644 drivers/input/misc/88pm886-onkey.c create mode 100644 drivers/mfd/88pm886.c create mode 100644 drivers/regulator/88pm886-regulator.c create mode 100644 include/linux/mfd/88pm886.h -- 2.45.0