* [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver)
@ 2025-04-23 17:55 Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM Sasha Finkelstein via B4 Relay
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Sasha Finkelstein via B4 Relay @ 2025-04-23 17:55 UTC (permalink / raw)
To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel,
Sasha Finkelstein, Hector Martin, Nick Chan
Hi.
This patch series adds a driver for exposing a set of registers
as NVMEM cells on a SPMI-attached PMIC on Apple ARM platforms.
Those are used to store the RTC offset and to communicate platform
power state between the OS and boot firmware.
The NVMEM cell consumer drivers will be sent in a further series.
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
Changes in v3:
- No longer try to make it generic, use for the 3 relevant PMICs only
- Link to v2: https://lore.kernel.org/r/20250417-spmi-nvmem-v2-0-b88851e34afb@gmail.com
Changes in v2:
- s/pmu/pmic/
- Sort dts in unit-order, instead of t600x-unit-order
- Link to v1: https://lore.kernel.org/r/20250415-spmi-nvmem-v1-0-22067be253cf@gmail.com
---
Hector Martin (2):
nvmem: Add apple-spmi-nvmem driver
arm64: dts: apple: Add PMIC NVMEM
Sasha Finkelstein (1):
dt-bindings: spmi: Add Apple SPMI NVMEM
.../bindings/nvmem/apple,spmi-nvmem.yaml | 54 +++++++++++++++++++
MAINTAINERS | 2 +
arch/arm64/boot/dts/apple/t6001.dtsi | 1 +
arch/arm64/boot/dts/apple/t6002.dtsi | 1 +
arch/arm64/boot/dts/apple/t600x-die0.dtsi | 50 +++++++++++++++++
arch/arm64/boot/dts/apple/t8103.dtsi | 50 +++++++++++++++++
arch/arm64/boot/dts/apple/t8112.dtsi | 50 +++++++++++++++++
drivers/nvmem/Kconfig | 13 +++++
drivers/nvmem/Makefile | 2 +
drivers/nvmem/apple-spmi-nvmem.c | 62 ++++++++++++++++++++++
10 files changed, 285 insertions(+)
---
base-commit: 2e0e70c95077172b29a5b13716c4b159d578e82c
change-id: 20250415-spmi-nvmem-e08635316175
Best regards,
--
Sasha Finkelstein <fnkl.kernel@gmail.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
@ 2025-04-23 17:55 ` Sasha Finkelstein via B4 Relay
2025-04-23 19:58 ` Rob Herring (Arm)
2025-04-23 17:55 ` [PATCH v3 2/3] nvmem: Add apple-spmi-nvmem driver Sasha Finkelstein via B4 Relay
` (4 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Sasha Finkelstein via B4 Relay @ 2025-04-23 17:55 UTC (permalink / raw)
To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel,
Sasha Finkelstein
From: Sasha Finkelstein <fnkl.kernel@gmail.com>
Add bindings for exposing SPMI registers of Apple PMICs as NVMEM cells
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
.../bindings/nvmem/apple,spmi-nvmem.yaml | 54 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 55 insertions(+)
diff --git a/Documentation/devicetree/bindings/nvmem/apple,spmi-nvmem.yaml b/Documentation/devicetree/bindings/nvmem/apple,spmi-nvmem.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..80b5a6cdcec91c8eed8b66f745e91ee07ba9683d
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/apple,spmi-nvmem.yaml
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/nvmem/apple,spmi-nvmem.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Apple SPMI NVMEM
+
+description: Exports a series of SPMI registers as NVMEM cells
+
+maintainers:
+ - Sasha Finkelstein <fnkl.kernel@gmail.com>
+
+allOf:
+ - $ref: nvmem.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - apple,maverick-pmic
+ - apple,sera-pmic
+ - apple,stowe-pmic
+ - const: apple,spmi-nvmem
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/spmi/spmi.h>
+
+ pmic@f {
+ compatible = "apple,maverick-pmic", "apple,spmi-nvmem";
+ reg = <0xf SPMI_USID>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boot_stage: boot-stage@6001 {
+ reg = <0x6001 0x1>;
+ };
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 96b82704950184bd71623ff41fc4df31e4c7fe87..f462545c54c55d4bdc22651e07a4c8e155e83016 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2277,6 +2277,7 @@ F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml
F: Documentation/devicetree/bindings/net/bluetooth/brcm,bcm4377-bluetooth.yaml
F: Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml
F: Documentation/devicetree/bindings/nvmem/apple,efuses.yaml
+F: Documentation/devicetree/bindings/nvmem/apple,spmi-nvmem.yaml
F: Documentation/devicetree/bindings/pci/apple,pcie.yaml
F: Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml
F: Documentation/devicetree/bindings/power/apple*
--
2.49.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/3] nvmem: Add apple-spmi-nvmem driver
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM Sasha Finkelstein via B4 Relay
@ 2025-04-23 17:55 ` Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 3/3] arm64: dts: apple: Add PMIC NVMEM Sasha Finkelstein via B4 Relay
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Sasha Finkelstein via B4 Relay @ 2025-04-23 17:55 UTC (permalink / raw)
To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel,
Sasha Finkelstein, Hector Martin
From: Hector Martin <marcan@marcan.st>
Add a driver for a series of SPMI-attached PMICs present on Apple devices
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Signed-off-by: Hector Martin <marcan@marcan.st>
Co-developed-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
MAINTAINERS | 1 +
drivers/nvmem/Kconfig | 13 +++++++++
drivers/nvmem/Makefile | 2 ++
drivers/nvmem/apple-spmi-nvmem.c | 62 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 78 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index f462545c54c55d4bdc22651e07a4c8e155e83016..c9f5ac1eb2458a0206ffe0767cc6ed129172e78f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2298,6 +2298,7 @@ F: drivers/iommu/io-pgtable-dart.c
F: drivers/irqchip/irq-apple-aic.c
F: drivers/nvme/host/apple.c
F: drivers/nvmem/apple-efuses.c
+F: drivers/nvmem/apple-spmi-nvmem.c
F: drivers/pinctrl/pinctrl-apple-gpio.c
F: drivers/pwm/pwm-apple.c
F: drivers/soc/apple/*
diff --git a/drivers/nvmem/Kconfig b/drivers/nvmem/Kconfig
index 8671b7c974b933e147154bb40b5d41b5730518d2..ae4afbd8293c64ea0a3a632c7172f5496545b12c 100644
--- a/drivers/nvmem/Kconfig
+++ b/drivers/nvmem/Kconfig
@@ -40,6 +40,19 @@ config NVMEM_APPLE_EFUSES
This driver can also be built as a module. If so, the module will
be called nvmem-apple-efuses.
+config NVMEM_APPLE_SPMI
+ tristate "Apple SPMI NVMEM"
+ depends on ARCH_APPLE || COMPILE_TEST
+ depends on SPMI
+ select REGMAP_SPMI
+ help
+ Say y here to build a driver to expose NVMEM cells for a set of power
+ and RTC-related settings on a SPMI-attached PMIC present on Apple
+ devices, such as Apple Silicon Macs.
+
+ This driver can also be built as a module. If so, the module
+ will be called apple-nvmem-spmi.
+
config NVMEM_BCM_OCOTP
tristate "Broadcom On-Chip OTP Controller support"
depends on ARCH_BCM_IPROC || COMPILE_TEST
diff --git a/drivers/nvmem/Makefile b/drivers/nvmem/Makefile
index 5b77bbb6488bf89bfb305750a1cbf4a6731a0a58..89a3c252c2c8dad9ed7bc6ac9841f63ff85c00d5 100644
--- a/drivers/nvmem/Makefile
+++ b/drivers/nvmem/Makefile
@@ -12,6 +12,8 @@ obj-y += layouts/
# Devices
obj-$(CONFIG_NVMEM_APPLE_EFUSES) += nvmem-apple-efuses.o
nvmem-apple-efuses-y := apple-efuses.o
+obj-$(CONFIG_NVMEM_APPLE_SPMI) += apple_nvmem_spmi.o
+apple_nvmem_spmi-y := apple-spmi-nvmem.o
obj-$(CONFIG_NVMEM_BCM_OCOTP) += nvmem-bcm-ocotp.o
nvmem-bcm-ocotp-y := bcm-ocotp.o
obj-$(CONFIG_NVMEM_BRCM_NVRAM) += nvmem_brcm_nvram.o
diff --git a/drivers/nvmem/apple-spmi-nvmem.c b/drivers/nvmem/apple-spmi-nvmem.c
new file mode 100644
index 0000000000000000000000000000000000000000..88614005d5ce1dc2d1cafcb89ac66d8376ffcc96
--- /dev/null
+++ b/drivers/nvmem/apple-spmi-nvmem.c
@@ -0,0 +1,62 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Apple SPMI NVMEM driver
+ *
+ * Copyright The Asahi Linux Contributors
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/nvmem-provider.h>
+#include <linux/of.h>
+#include <linux/spmi.h>
+#include <linux/regmap.h>
+
+static const struct regmap_config apple_spmi_regmap_config = {
+ .reg_bits = 16,
+ .val_bits = 8,
+ .max_register = 0xffff,
+};
+
+static int apple_spmi_nvmem_probe(struct spmi_device *sdev)
+{
+ struct regmap *regmap;
+ struct nvmem_config nvmem_cfg = {
+ .dev = &sdev->dev,
+ .name = "spmi_nvmem",
+ .id = NVMEM_DEVID_AUTO,
+ .word_size = 1,
+ .stride = 1,
+ .size = 0xffff,
+ .reg_read = (void *)regmap_bulk_read,
+ .reg_write = (void *)regmap_bulk_write,
+ };
+
+ regmap = devm_regmap_init_spmi_ext(sdev, &apple_spmi_regmap_config);
+ if (IS_ERR(regmap))
+ return PTR_ERR(regmap);
+
+ nvmem_cfg.priv = regmap;
+
+ return PTR_ERR_OR_ZERO(devm_nvmem_register(&sdev->dev, &nvmem_cfg));
+}
+
+static const struct of_device_id apple_spmi_nvmem_id_table[] = {
+ { .compatible = "apple,spmi-nvmem" },
+ { },
+};
+MODULE_DEVICE_TABLE(of, apple_spmi_nvmem_id_table);
+
+static struct spmi_driver apple_spmi_nvmem_driver = {
+ .probe = apple_spmi_nvmem_probe,
+ .driver = {
+ .name = "apple-spmi-nvmem",
+ .of_match_table = apple_spmi_nvmem_id_table,
+ },
+};
+
+module_spmi_driver(apple_spmi_nvmem_driver);
+
+MODULE_LICENSE("Dual MIT/GPL");
+MODULE_AUTHOR("Hector Martin <marcan@marcan.st>");
+MODULE_DESCRIPTION("Apple SPMI NVMEM driver");
--
2.49.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/3] arm64: dts: apple: Add PMIC NVMEM
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 2/3] nvmem: Add apple-spmi-nvmem driver Sasha Finkelstein via B4 Relay
@ 2025-04-23 17:55 ` Sasha Finkelstein via B4 Relay
2025-04-24 2:12 ` [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Neal Gompa
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Sasha Finkelstein via B4 Relay @ 2025-04-23 17:55 UTC (permalink / raw)
To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
Srinivas Kandagatla, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel,
Sasha Finkelstein, Hector Martin, Nick Chan
From: Hector Martin <marcan@marcan.st>
Add device tree entries for NVMEM cells present on the PMIC
Signed-off-by: Hector Martin <marcan@marcan.st>
Reviewed-by: Nick Chan <towinchenmi@gmail.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Co-developed-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
arch/arm64/boot/dts/apple/t6001.dtsi | 1 +
arch/arm64/boot/dts/apple/t6002.dtsi | 1 +
arch/arm64/boot/dts/apple/t600x-die0.dtsi | 50 +++++++++++++++++++++++++++++++
arch/arm64/boot/dts/apple/t8103.dtsi | 50 +++++++++++++++++++++++++++++++
arch/arm64/boot/dts/apple/t8112.dtsi | 50 +++++++++++++++++++++++++++++++
5 files changed, 152 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/t6001.dtsi b/arch/arm64/boot/dts/apple/t6001.dtsi
index 620b17e4031f069874aaabadbf06b7b29ec4031e..d2cf81926f284ccf7627701cc82edff31d4d72d6 100644
--- a/arch/arm64/boot/dts/apple/t6001.dtsi
+++ b/arch/arm64/boot/dts/apple/t6001.dtsi
@@ -11,6 +11,7 @@
#include <dt-bindings/interrupt-controller/apple-aic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/apple.h>
+#include <dt-bindings/spmi/spmi.h>
#include "multi-die-cpp.h"
diff --git a/arch/arm64/boot/dts/apple/t6002.dtsi b/arch/arm64/boot/dts/apple/t6002.dtsi
index a963a5011799a0480f88688fb4372a31f0bbf806..e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4 100644
--- a/arch/arm64/boot/dts/apple/t6002.dtsi
+++ b/arch/arm64/boot/dts/apple/t6002.dtsi
@@ -11,6 +11,7 @@
#include <dt-bindings/interrupt-controller/apple-aic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/apple.h>
+#include <dt-bindings/spmi/spmi.h>
#include "multi-die-cpp.h"
diff --git a/arch/arm64/boot/dts/apple/t600x-die0.dtsi b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
index 4c224e686ffe5602329f7f394d3354559c4130ab..110bc6719512e334e04b496fb157cb4368679957 100644
--- a/arch/arm64/boot/dts/apple/t600x-die0.dtsi
+++ b/arch/arm64/boot/dts/apple/t600x-die0.dtsi
@@ -50,6 +50,56 @@ nub_spmi0: spmi@2920a1300 {
reg = <0x2 0x920a1300 0x0 0x100>;
#address-cells = <2>;
#size-cells = <0>;
+
+ pmic1: pmic@f {
+ compatible = "apple,maverick-pmic", "apple,spmi-nvmem";
+ reg = <0xf SPMI_USID>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ pm_setting: pm-setting@1405 {
+ reg = <0x1405 0x1>;
+ };
+
+ rtc_offset: rtc-offset@1411 {
+ reg = <0x1411 0x6>;
+ };
+
+ boot_stage: boot-stage@6001 {
+ reg = <0x6001 0x1>;
+ };
+
+ boot_error_count: boot-error-count@6002 {
+ reg = <0x6002 0x1>;
+ bits = <0 4>;
+ };
+
+ panic_count: panic-count@6002 {
+ reg = <0x6002 0x1>;
+ bits = <4 4>;
+ };
+
+ boot_error_stage: boot-error-stage@6003 {
+ reg = <0x6003 0x1>;
+ };
+
+ shutdown_flag: shutdown-flag@600f {
+ reg = <0x600f 0x1>;
+ bits = <3 1>;
+ };
+
+ fault_shadow: fault-shadow@867b {
+ reg = <0x867b 0x10>;
+ };
+
+ socd: socd@8b00 {
+ reg = <0x8b00 0x400>;
+ };
+ };
+ };
};
wdt: watchdog@2922b0000 {
diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
index bdb1cb9e406a441e458b1c735359b0148146e91b..20faf0c0d80927b2e18dd966a61b5507b322c72f 100644
--- a/arch/arm64/boot/dts/apple/t8103.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103.dtsi
@@ -747,6 +747,56 @@ nub_spmi: spmi@23d0d9300 {
reg = <0x2 0x3d0d9300 0x0 0x100>;
#address-cells = <2>;
#size-cells = <0>;
+
+ pmic1: pmic@f {
+ compatible = "apple,sera-pmic", "apple,spmi-nvmem";
+ reg = <0xf SPMI_USID>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boot_stage: boot-stage@9f01 {
+ reg = <0x9f01 0x1>;
+ };
+
+ boot_error_count: boot-error-count@9f02 {
+ reg = <0x9f02 0x1>;
+ bits = <0 4>;
+ };
+
+ panic_count: panic-count@9f02 {
+ reg = <0x9f02 0x1>;
+ bits = <4 4>;
+ };
+
+ boot_error_stage: boot-error-stage@9f03 {
+ reg = <0x9f03 0x1>;
+ };
+
+ shutdown_flag: shutdown-flag@9f0f {
+ reg = <0x9f0f 0x1>;
+ bits = <3 1>;
+ };
+
+ fault_shadow: fault-shadow@a67b {
+ reg = <0xa67b 0x10>;
+ };
+
+ socd: socd@ab00 {
+ reg = <0xab00 0x400>;
+ };
+
+ pm_setting: pm-setting@d001 {
+ reg = <0xd001 0x1>;
+ };
+
+ rtc_offset: rtc-offset@d100 {
+ reg = <0xd100 0x6>;
+ };
+ };
+ };
};
pinctrl_nub: pinctrl@23d1f0000 {
diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi
index 950d1f906ba3023c1d118179207a2099345aae94..e95711d8337f6cea898e88a3d564caf2c4f94404 100644
--- a/arch/arm64/boot/dts/apple/t8112.dtsi
+++ b/arch/arm64/boot/dts/apple/t8112.dtsi
@@ -787,6 +787,56 @@ nub_spmi: spmi@23d714000 {
reg = <0x2 0x3d714000 0x0 0x100>;
#address-cells = <2>;
#size-cells = <0>;
+
+ pmic1: pmic@e {
+ compatible = "apple,stowe-pmic", "apple,spmi-nvmem";
+ reg = <0xe SPMI_USID>;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ fault_shadow: fault-shadow@867b {
+ reg = <0x867b 0x10>;
+ };
+
+ socd: socd@8b00 {
+ reg = <0x8b00 0x400>;
+ };
+
+ boot_stage: boot-stage@f701 {
+ reg = <0xf701 0x1>;
+ };
+
+ boot_error_count: boot-error-count@f702 {
+ reg = <0xf702 0x1>;
+ bits = <0 4>;
+ };
+
+ panic_count: panic-count@f702 {
+ reg = <0xf702 0x1>;
+ bits = <4 4>;
+ };
+
+ boot_error_stage: boot-error-stage@f703 {
+ reg = <0xf703 0x1>;
+ };
+
+ shutdown_flag: shutdown-flag@f70f {
+ reg = <0xf70f 0x1>;
+ bits = <3 1>;
+ };
+
+ pm_setting: pm-setting@f801 {
+ reg = <0xf801 0x1>;
+ };
+
+ rtc_offset: rtc-offset@f900 {
+ reg = <0xf900 0x6>;
+ };
+ };
+ };
};
pinctrl_smc: pinctrl@23e820000 {
--
2.49.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM
2025-04-23 17:55 ` [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM Sasha Finkelstein via B4 Relay
@ 2025-04-23 19:58 ` Rob Herring (Arm)
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring (Arm) @ 2025-04-23 19:58 UTC (permalink / raw)
To: Sasha Finkelstein
Cc: linux-kernel, devicetree, Conor Dooley, Alyssa Rosenzweig,
Sven Peter, Krzysztof Kozlowski, Srinivas Kandagatla, asahi,
Janne Grunau, linux-arm-kernel, Neal Gompa
On Wed, 23 Apr 2025 19:55:13 +0200, Sasha Finkelstein wrote:
> Add bindings for exposing SPMI registers of Apple PMICs as NVMEM cells
>
> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
> ---
> .../bindings/nvmem/apple,spmi-nvmem.yaml | 54 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 55 insertions(+)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver)
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
` (2 preceding siblings ...)
2025-04-23 17:55 ` [PATCH v3 3/3] arm64: dts: apple: Add PMIC NVMEM Sasha Finkelstein via B4 Relay
@ 2025-04-24 2:12 ` Neal Gompa
2025-04-30 19:41 ` (subset) " Srinivas Kandagatla
2025-05-01 10:09 ` Sven Peter
5 siblings, 0 replies; 8+ messages in thread
From: Neal Gompa @ 2025-04-24 2:12 UTC (permalink / raw)
To: fnkl.kernel
Cc: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Srinivas Kandagatla,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, asahi,
linux-arm-kernel, devicetree, linux-kernel, Hector Martin,
Nick Chan
On Wed, Apr 23, 2025 at 1:55 PM Sasha Finkelstein via B4 Relay
<devnull+fnkl.kernel.gmail.com@kernel.org> wrote:
>
> Hi.
>
> This patch series adds a driver for exposing a set of registers
> as NVMEM cells on a SPMI-attached PMIC on Apple ARM platforms.
> Those are used to store the RTC offset and to communicate platform
> power state between the OS and boot firmware.
>
> The NVMEM cell consumer drivers will be sent in a further series.
>
> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
> ---
> Changes in v3:
> - No longer try to make it generic, use for the 3 relevant PMICs only
> - Link to v2: https://lore.kernel.org/r/20250417-spmi-nvmem-v2-0-b88851e34afb@gmail.com
>
> Changes in v2:
> - s/pmu/pmic/
> - Sort dts in unit-order, instead of t600x-unit-order
> - Link to v1: https://lore.kernel.org/r/20250415-spmi-nvmem-v1-0-22067be253cf@gmail.com
>
> ---
> Hector Martin (2):
> nvmem: Add apple-spmi-nvmem driver
> arm64: dts: apple: Add PMIC NVMEM
>
> Sasha Finkelstein (1):
> dt-bindings: spmi: Add Apple SPMI NVMEM
>
> .../bindings/nvmem/apple,spmi-nvmem.yaml | 54 +++++++++++++++++++
> MAINTAINERS | 2 +
> arch/arm64/boot/dts/apple/t6001.dtsi | 1 +
> arch/arm64/boot/dts/apple/t6002.dtsi | 1 +
> arch/arm64/boot/dts/apple/t600x-die0.dtsi | 50 +++++++++++++++++
> arch/arm64/boot/dts/apple/t8103.dtsi | 50 +++++++++++++++++
> arch/arm64/boot/dts/apple/t8112.dtsi | 50 +++++++++++++++++
> drivers/nvmem/Kconfig | 13 +++++
> drivers/nvmem/Makefile | 2 +
> drivers/nvmem/apple-spmi-nvmem.c | 62 ++++++++++++++++++++++
> 10 files changed, 285 insertions(+)
> ---
> base-commit: 2e0e70c95077172b29a5b13716c4b159d578e82c
> change-id: 20250415-spmi-nvmem-e08635316175
>
Series LGTM.
Reviewed-by: Neal Gompa <neal@gompa.dev>
--
真実はいつも一つ!/ Always, there's only one truth!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver)
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
` (3 preceding siblings ...)
2025-04-24 2:12 ` [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Neal Gompa
@ 2025-04-30 19:41 ` Srinivas Kandagatla
2025-05-01 10:09 ` Sven Peter
5 siblings, 0 replies; 8+ messages in thread
From: Srinivas Kandagatla @ 2025-04-30 19:41 UTC (permalink / raw)
To: Sven Peter, Janne Grunau, Alyssa Rosenzweig, Neal Gompa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Srinivas Kandagatla, Sasha Finkelstein
Cc: asahi, linux-arm-kernel, devicetree, linux-kernel, Hector Martin,
Nick Chan
On Wed, 23 Apr 2025 19:55:12 +0200, Sasha Finkelstein wrote:
> This patch series adds a driver for exposing a set of registers
> as NVMEM cells on a SPMI-attached PMIC on Apple ARM platforms.
> Those are used to store the RTC offset and to communicate platform
> power state between the OS and boot firmware.
>
> The NVMEM cell consumer drivers will be sent in a further series.
>
> [...]
Applied, thanks!
[1/3] dt-bindings: spmi: Add Apple SPMI NVMEM
commit: 342ad99689be22776c50ab5d82064b700e516a98
[2/3] nvmem: Add apple-spmi-nvmem driver
commit: 8d2900cc141122ad3a754d6d86cd15a9a4bf0b74
Best regards,
--
Srinivas Kandagatla <srini@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: (subset) [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver)
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
` (4 preceding siblings ...)
2025-04-30 19:41 ` (subset) " Srinivas Kandagatla
@ 2025-05-01 10:09 ` Sven Peter
5 siblings, 0 replies; 8+ messages in thread
From: Sven Peter @ 2025-05-01 10:09 UTC (permalink / raw)
To: Janne Grunau, Alyssa Rosenzweig, Neal Gompa, Srinivas Kandagatla,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sasha Finkelstein
Cc: Sven Peter, asahi, linux-arm-kernel, devicetree, linux-kernel,
Hector Martin, Nick Chan
On Wed, 23 Apr 2025 19:55:12 +0200, Sasha Finkelstein wrote:
> This patch series adds a driver for exposing a set of registers
> as NVMEM cells on a SPMI-attached PMIC on Apple ARM platforms.
> Those are used to store the RTC offset and to communicate platform
> power state between the OS and boot firmware.
>
> The NVMEM cell consumer drivers will be sent in a further series.
>
> [...]
Applied to git@github.com:AsahiLinux/linux.git (asahi-soc/dt), thanks!
[3/3] arm64: dts: apple: Add PMIC NVMEM
https://github.com/AsahiLinux/linux/commit/d8bf82081c9e
Best regards,
--
Sven Peter <sven@svenpeter.dev>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-05-01 10:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-23 17:55 [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 1/3] dt-bindings: spmi: Add Apple SPMI NVMEM Sasha Finkelstein via B4 Relay
2025-04-23 19:58 ` Rob Herring (Arm)
2025-04-23 17:55 ` [PATCH v3 2/3] nvmem: Add apple-spmi-nvmem driver Sasha Finkelstein via B4 Relay
2025-04-23 17:55 ` [PATCH v3 3/3] arm64: dts: apple: Add PMIC NVMEM Sasha Finkelstein via B4 Relay
2025-04-24 2:12 ` [PATCH v3 0/3] Apple PMIC NVMEM cell driver (Formerly: Generic SPMI NVMEM cell driver) Neal Gompa
2025-04-30 19:41 ` (subset) " Srinivas Kandagatla
2025-05-01 10:09 ` Sven Peter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).