162306a36Sopenharmony_ci// SPDX-License-Identifier: BSD-3-Clause 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2021, Linaro Limited 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 762306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h> 862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 962306a36Sopenharmony_ci#include <dt-bindings/spmi/spmi.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* (Sadly) this PMIC can be configured to be at different SIDs */ 1262306a36Sopenharmony_ci#ifndef PMK8350_SID 1362306a36Sopenharmony_ci #define PMK8350_SID 0 1462306a36Sopenharmony_ci#endif 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci reboot-mode { 1862306a36Sopenharmony_ci compatible = "nvmem-reboot-mode"; 1962306a36Sopenharmony_ci nvmem-cells = <&reboot_reason>; 2062306a36Sopenharmony_ci nvmem-cell-names = "reboot-mode"; 2162306a36Sopenharmony_ci mode-recovery = <0x01>; 2262306a36Sopenharmony_ci mode-bootloader = <0x02>; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci}; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci&spmi_bus { 2762306a36Sopenharmony_ci pmk8350: pmic@PMK8350_SID { 2862306a36Sopenharmony_ci compatible = "qcom,pmk8350", "qcom,spmi-pmic"; 2962306a36Sopenharmony_ci reg = <PMK8350_SID SPMI_USID>; 3062306a36Sopenharmony_ci #address-cells = <1>; 3162306a36Sopenharmony_ci #size-cells = <0>; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci pmk8350_pon: pon@1300 { 3462306a36Sopenharmony_ci compatible = "qcom,pmk8350-pon"; 3562306a36Sopenharmony_ci reg = <0x1300>, <0x800>; 3662306a36Sopenharmony_ci reg-names = "hlos", "pbs"; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci pon_pwrkey: pwrkey { 3962306a36Sopenharmony_ci compatible = "qcom,pmk8350-pwrkey"; 4062306a36Sopenharmony_ci interrupts = <PMK8350_SID 0x13 0x7 IRQ_TYPE_EDGE_BOTH>; 4162306a36Sopenharmony_ci linux,code = <KEY_POWER>; 4262306a36Sopenharmony_ci status = "disabled"; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci pon_resin: resin { 4662306a36Sopenharmony_ci compatible = "qcom,pmk8350-resin"; 4762306a36Sopenharmony_ci interrupts = <PMK8350_SID 0x13 0x6 IRQ_TYPE_EDGE_BOTH>; 4862306a36Sopenharmony_ci status = "disabled"; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci pmk8350_vadc: adc@3100 { 5362306a36Sopenharmony_ci compatible = "qcom,spmi-adc7"; 5462306a36Sopenharmony_ci reg = <0x3100>; 5562306a36Sopenharmony_ci #address-cells = <1>; 5662306a36Sopenharmony_ci #size-cells = <0>; 5762306a36Sopenharmony_ci interrupts = <PMK8350_SID 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 5862306a36Sopenharmony_ci #io-channel-cells = <1>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci pmk8350_adc_tm: adc-tm@3400 { 6262306a36Sopenharmony_ci compatible = "qcom,spmi-adc-tm5-gen2"; 6362306a36Sopenharmony_ci reg = <0x3400>; 6462306a36Sopenharmony_ci interrupts = <PMK8350_SID 0x34 0x0 IRQ_TYPE_EDGE_RISING>; 6562306a36Sopenharmony_ci #address-cells = <1>; 6662306a36Sopenharmony_ci #size-cells = <0>; 6762306a36Sopenharmony_ci #thermal-sensor-cells = <1>; 6862306a36Sopenharmony_ci status = "disabled"; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci pmk8350_rtc: rtc@6100 { 7262306a36Sopenharmony_ci compatible = "qcom,pmk8350-rtc"; 7362306a36Sopenharmony_ci reg = <0x6100>, <0x6200>; 7462306a36Sopenharmony_ci reg-names = "rtc", "alarm"; 7562306a36Sopenharmony_ci interrupts = <PMK8350_SID 0x62 0x1 IRQ_TYPE_EDGE_RISING>; 7662306a36Sopenharmony_ci status = "disabled"; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci pmk8350_sdam_2: nvram@7100 { 8062306a36Sopenharmony_ci compatible = "qcom,spmi-sdam"; 8162306a36Sopenharmony_ci reg = <0x7100>; 8262306a36Sopenharmony_ci #address-cells = <1>; 8362306a36Sopenharmony_ci #size-cells = <1>; 8462306a36Sopenharmony_ci ranges = <0 0x7100 0x100>; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci reboot_reason: reboot-reason@48 { 8762306a36Sopenharmony_ci reg = <0x48 0x1>; 8862306a36Sopenharmony_ci bits = <1 7>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci pmk8350_gpios: gpio@b000 { 9362306a36Sopenharmony_ci compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio"; 9462306a36Sopenharmony_ci reg = <0xb000>; 9562306a36Sopenharmony_ci gpio-controller; 9662306a36Sopenharmony_ci gpio-ranges = <&pmk8350_gpios 0 0 4>; 9762306a36Sopenharmony_ci #gpio-cells = <2>; 9862306a36Sopenharmony_ci interrupt-controller; 9962306a36Sopenharmony_ci #interrupt-cells = <2>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci}; 103