From patchwork Sun Feb 11 09:35:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Karel Balej X-Patchwork-Id: 20218 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:50ea:b0:106:860b:bbdd with SMTP id r10csp1850057dyd; Sun, 11 Feb 2024 01:47:44 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXUPrkE8JJnhn5wlwfybpaiU034nyRgOWJh6iOvl/ImO+w/7R50oIaH2bnLZdFazFh7N3E7+Y7pKyD4Q/gzA1gCsUUlRg== X-Google-Smtp-Source: AGHT+IGQlltW47iBEeQAMiL/l66VgMxSSsqnULI+R3kJxDjvlCiVmzslbziSJcQXd+xXmfVCm1bN X-Received: by 2002:a05:622a:13c7:b0:42c:5d43:53cd with SMTP id p7-20020a05622a13c700b0042c5d4353cdmr5811409qtk.29.1707644864683; Sun, 11 Feb 2024 01:47:44 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707644864; cv=pass; d=google.com; s=arc-20160816; b=S6kyFziOnWHTAg2zKgRMlMqVUUC6CJhAAvRCG4N+XROsCiRH0BfZ8t49olvgknzJ04 15abis0R3dx3gOFwc6vrqyDWAbbKRYiTXvqc91x0X1etclsVXOnbgdphQtBkYrBfc3W3 +/U2TCJ8AcRbL3EAf3++yyGFEyO9/xN1eyl2mEuiSHzVaPP1oyPr6GnyHLGWz3SFd2+t luX2lb8lpfjg/7KRfvAdaryEBy8oAUYgELt6bFpPmHJRA55FitGURbcsnnezUS9U0bYb ke5/Sd8splbWSYMQKmeX1YK3rfI+E5njQMa6asPpLYD7B1qDIc9nwW2EZIc3Hw2t0z0p i3Bg== 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=js79tpGeOwdjmy7kNEGOcRh7dlNGXI2Hu08nML2wVQU=; fh=HeaGDCCgDOGwIHe3K63wEEI3+kDI/sOx2+Sm4GxnVRM=; b=JbgUcifL9+q+IANqF56ODZa2vgMZX1pzIOX1+BenPpeNFZhCCcYTEifagT70/zhfbH x8tBgII4TxBpx5WVDg/ZI3+8KaRwgPcktsvRk5FMGmnGbgbM6KrjiNTWv0+4DRDSBEwS xoRO7XHIHLfdOFycd3tvVEPRYlsNmRhqLGVENjuoEr+4P9cXYDHYK5eJ8r/2dw7kpbR/ b7GfwWSbI28QZ1JEl+R1auqhu6oI2E+Qsd0Y3RaPjiKGTZJe3ZHQKBy/XdbK7zklnMWi Zu7qJwWjxC7RzzH2yYY07mjv/+TgP25DM254cj2pkesk9knLQHoN/I1fIeJUlWNG80XQ YUFA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gimli.ms.mff.cuni.cz header.s=gen1 header.b=iwmkOnKM; arc=pass (i=1 spf=pass spfdomain=gimli.ms.mff.cuni.cz dkim=pass dkdomain=gimli.ms.mff.cuni.cz dmarc=pass fromdomain=gimli.ms.mff.cuni.cz); spf=pass (google.com: domain of linux-kernel+bounces-60681-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-60681-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gimli.ms.mff.cuni.cz X-Forwarded-Encrypted: i=2; AJvYcCX0OADXZjeXsoarXj3ZNbkbuU22eiHafsyFdBoD0mIGZ1YQTn5z9U0yMlXMFcammZE+nDBBcqnGRjgzINTkixJHJbTqMA== Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id j10-20020a05622a038a00b0042bf5fdf545si6074818qtx.149.2024.02.11.01.47.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Feb 2024 01:47:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-60681-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@gimli.ms.mff.cuni.cz header.s=gen1 header.b=iwmkOnKM; arc=pass (i=1 spf=pass spfdomain=gimli.ms.mff.cuni.cz dkim=pass dkdomain=gimli.ms.mff.cuni.cz dmarc=pass fromdomain=gimli.ms.mff.cuni.cz); spf=pass (google.com: domain of linux-kernel+bounces-60681-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-60681-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gimli.ms.mff.cuni.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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 78FD11C2154C for ; Sun, 11 Feb 2024 09:47:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id ACD275A4CB; Sun, 11 Feb 2024 09:47:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=gimli.ms.mff.cuni.cz header.i=@gimli.ms.mff.cuni.cz header.b="iwmkOnKM" Received: from nikam.ms.mff.cuni.cz (nikam.ms.mff.cuni.cz [195.113.20.16]) (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 565FA168B7; Sun, 11 Feb 2024 09:47:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.113.20.16 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707644829; cv=none; b=eEJ4KjgNT5BbQAa1TQUmweImMJLkz8xo3lpnn0fviRn68qJYuwcvQjRsl2QJwHye4HDaw5DjFNLVOcUoFnF7F0iR1tSSTcJlFjVZo9tUQJ0u9kjcPWzymC37b0PG4vqvdOPNJAplbgS8AbDYnteQr9ILnPCGUMv88YAdr91YIlQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707644829; c=relaxed/simple; bh=gofBdZ13iHj3dO08IZKMEUeaH7TfVhVD1JVNFZuvo/s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XrhuWM0Ja5SgoP+iJ3+vpy6D7qph5YV6NW5jwIV9w0NaXuRlT8cptX2xI1ZpPaXvtSVM6z8igoGuEjkQ2hNdv0AqsAg701DxXpGPxj+Z+VOkseTW868ojBFfV2q/GKmz2fP16o3AkVYcgeOvwIYOcoO1lAwJBQmDYpg7qnDtZmM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gimli.ms.mff.cuni.cz; spf=pass smtp.mailfrom=gimli.ms.mff.cuni.cz; dkim=pass (1024-bit key) header.d=gimli.ms.mff.cuni.cz header.i=@gimli.ms.mff.cuni.cz header.b=iwmkOnKM; arc=none smtp.client-ip=195.113.20.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gimli.ms.mff.cuni.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gimli.ms.mff.cuni.cz Received: from gimli.ms.mff.cuni.cz (gimli.ms.mff.cuni.cz [195.113.20.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by nikam.ms.mff.cuni.cz (Postfix) with ESMTPS id 3F1C52811B8; Sun, 11 Feb 2024 10:46:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gimli.ms.mff.cuni.cz; s=gen1; t=1707644817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=js79tpGeOwdjmy7kNEGOcRh7dlNGXI2Hu08nML2wVQU=; b=iwmkOnKM1VkVuFcfldLGCycvw6PoDVgAYTljFLpBOjyoLczIV0iyAwSjNGcqs0VXonbSfT tH7mvL/CBOid+nIfr+srxlvLFgOj2MXS1GilpvBUvEIF6pkwBSWbyS5x1ddfBeA/t3Hpzf nNIoB/R+4lFXTEmGoTC8Ph2odvQf1+Q= Received: from localhost (internet5.mraknet.com [185.200.108.250]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: karelb) by gimli.ms.mff.cuni.cz (Postfix) with ESMTPSA id 1327F457D27; Sun, 11 Feb 2024 10:46:57 +0100 (CET) From: Karel Balej To: Karel Balej , Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Duje_Mihanovi=C4=87?= , ~postmarketos/upstreaming@lists.sr.ht, phone-devel@vger.kernel.org Subject: [RFC PATCH v2 0/6] support for Marvell 88PM886 PMIC Date: Sun, 11 Feb 2024 10:35:50 +0100 Message-ID: <20240211094609.2223-1-karelb@gimli.ms.mff.cuni.cz> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1790595421581951577 X-GMAIL-MSGID: 1790595421581951577 From: Karel Balej 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. --- 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 (6): dt-bindings: mfd: add entry for Marvell 88PM886 PMIC mfd: add driver for Marvell 88PM886 PMIC regulator: add regulators driver for Marvell 88PM886 PMIC dt-bindings: input: add entry for Marvell 88PM88X PMICs onkey input: add onkey driver for Marvell 88PM88X PMICs MAINTAINERS: add myself for Marvell 88PM886 PMIC .../bindings/input/marvell,88pm88x-onkey.yaml | 32 +++ .../bindings/mfd/marvell,88pm88x.yaml | 82 +++++++ .../regulator/marvell,88pm88x-regulator.yaml | 28 +++ MAINTAINERS | 11 + drivers/input/misc/88pm88x-onkey.c | 95 ++++++++ drivers/input/misc/Kconfig | 7 + drivers/input/misc/Makefile | 1 + drivers/mfd/88pm88x.c | 211 ++++++++++++++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/regulator/88pm88x-regulator.c | 206 +++++++++++++++++ drivers/regulator/Kconfig | 6 + drivers/regulator/Makefile | 1 + include/linux/mfd/88pm88x.h | 46 ++++ 14 files changed, 739 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/marvell,88pm88x-onkey.yaml create mode 100644 Documentation/devicetree/bindings/mfd/marvell,88pm88x.yaml create mode 100644 Documentation/devicetree/bindings/regulator/marvell,88pm88x-regulator.yaml create mode 100644 drivers/input/misc/88pm88x-onkey.c create mode 100644 drivers/mfd/88pm88x.c create mode 100644 drivers/regulator/88pm88x-regulator.c create mode 100644 include/linux/mfd/88pm88x.h