]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: apple: Add PMIC NVMEM
authorHector Martin <marcan@marcan.st>
Wed, 23 Apr 2025 17:55:15 +0000 (19:55 +0200)
committerSven Peter <sven@svenpeter.dev>
Thu, 1 May 2025 10:03:53 +0000 (12:03 +0200)
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>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Link: https://lore.kernel.org/r/20250423-spmi-nvmem-v3-3-2985aa722ddc@gmail.com
Signed-off-by: Sven Peter <sven@svenpeter.dev>
arch/arm64/boot/dts/apple/t6001.dtsi
arch/arm64/boot/dts/apple/t6002.dtsi
arch/arm64/boot/dts/apple/t600x-die0.dtsi
arch/arm64/boot/dts/apple/t8103.dtsi
arch/arm64/boot/dts/apple/t8112.dtsi

index 620b17e4031f069874aaabadbf06b7b29ec4031e..d2cf81926f284ccf7627701cc82edff31d4d72d6 100644 (file)
@@ -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"
 
index a963a5011799a0480f88688fb4372a31f0bbf806..e36f422d257d8fe3a62bfa6e0f0e0dc6c34608a4 100644 (file)
@@ -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"
 
index 4c224e686ffe5602329f7f394d3354559c4130ab..110bc6719512e334e04b496fb157cb4368679957 100644 (file)
                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 {
index bdb1cb9e406a441e458b1c735359b0148146e91b..20faf0c0d80927b2e18dd966a61b5507b322c72f 100644 (file)
                        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 {
index 950d1f906ba3023c1d118179207a2099345aae94..e95711d8337f6cea898e88a3d564caf2c4f94404 100644 (file)
                        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 {