1// SPDX-License-Identifier: BSD-3-Clause 2/* 3 * Copyright (c) 2021, Linaro Limited 4 */ 5 6#include <dt-bindings/input/input.h> 7#include <dt-bindings/input/linux-event-codes.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/spmi/spmi.h> 10 11/* (Sadly) this PMIC can be configured to be at different SIDs */ 12#ifndef PMK8350_SID 13 #define PMK8350_SID 0 14#endif 15 16/ { 17 reboot-mode { 18 compatible = "nvmem-reboot-mode"; 19 nvmem-cells = <&reboot_reason>; 20 nvmem-cell-names = "reboot-mode"; 21 mode-recovery = <0x01>; 22 mode-bootloader = <0x02>; 23 }; 24}; 25 26&spmi_bus { 27 pmk8350: pmic@PMK8350_SID { 28 compatible = "qcom,pmk8350", "qcom,spmi-pmic"; 29 reg = <PMK8350_SID SPMI_USID>; 30 #address-cells = <1>; 31 #size-cells = <0>; 32 33 pmk8350_pon: pon@1300 { 34 compatible = "qcom,pmk8350-pon"; 35 reg = <0x1300>, <0x800>; 36 reg-names = "hlos", "pbs"; 37 38 pon_pwrkey: pwrkey { 39 compatible = "qcom,pmk8350-pwrkey"; 40 interrupts = <PMK8350_SID 0x13 0x7 IRQ_TYPE_EDGE_BOTH>; 41 linux,code = <KEY_POWER>; 42 status = "disabled"; 43 }; 44 45 pon_resin: resin { 46 compatible = "qcom,pmk8350-resin"; 47 interrupts = <PMK8350_SID 0x13 0x6 IRQ_TYPE_EDGE_BOTH>; 48 status = "disabled"; 49 }; 50 }; 51 52 pmk8350_vadc: adc@3100 { 53 compatible = "qcom,spmi-adc7"; 54 reg = <0x3100>; 55 #address-cells = <1>; 56 #size-cells = <0>; 57 interrupts = <PMK8350_SID 0x31 0x0 IRQ_TYPE_EDGE_RISING>; 58 #io-channel-cells = <1>; 59 }; 60 61 pmk8350_adc_tm: adc-tm@3400 { 62 compatible = "qcom,spmi-adc-tm5-gen2"; 63 reg = <0x3400>; 64 interrupts = <PMK8350_SID 0x34 0x0 IRQ_TYPE_EDGE_RISING>; 65 #address-cells = <1>; 66 #size-cells = <0>; 67 #thermal-sensor-cells = <1>; 68 status = "disabled"; 69 }; 70 71 pmk8350_rtc: rtc@6100 { 72 compatible = "qcom,pmk8350-rtc"; 73 reg = <0x6100>, <0x6200>; 74 reg-names = "rtc", "alarm"; 75 interrupts = <PMK8350_SID 0x62 0x1 IRQ_TYPE_EDGE_RISING>; 76 status = "disabled"; 77 }; 78 79 pmk8350_sdam_1: nvram@7000 { 80 compatible = "qcom,spmi-sdam"; 81 reg = <0x7000>; 82 #address-cells = <1>; 83 #size-cells = <1>; 84 ranges = <0 0x7000 0x100>; 85 }; 86 87 pmk8350_sdam_2: nvram@7100 { 88 compatible = "qcom,spmi-sdam"; 89 reg = <0x7100>; 90 #address-cells = <1>; 91 #size-cells = <1>; 92 ranges = <0 0x7100 0x100>; 93 94 reboot_reason: reboot-reason@48 { 95 reg = <0x48 0x1>; 96 bits = <1 7>; 97 }; 98 }; 99 100 pmk8350_sdam_5: nvram@7400 { 101 compatible = "qcom,spmi-sdam"; 102 reg = <0x7400>; 103 #address-cells = <1>; 104 #size-cells = <1>; 105 ranges = <0 0x7400 0x100>; 106 }; 107 108 pmk8350_sdam_13: nvram@7c00 { 109 compatible = "qcom,spmi-sdam"; 110 reg = <0x7c00>; 111 #address-cells = <1>; 112 #size-cells = <1>; 113 ranges = <0 0x7c00 0x100>; 114 }; 115 116 pmk8350_sdam_14: nvram@7d00 { 117 compatible = "qcom,spmi-sdam"; 118 reg = <0x7d00>; 119 #address-cells = <1>; 120 #size-cells = <1>; 121 ranges = <0 0x7d00 0x100>; 122 }; 123 124 pmk8350_sdam_21: nvram@8400 { 125 compatible = "qcom,spmi-sdam"; 126 reg = <0x8400>; 127 #address-cells = <1>; 128 #size-cells = <1>; 129 ranges = <0 0x8400 0x100>; 130 }; 131 132 pmk8350_sdam_22: nvram@8500 { 133 compatible = "qcom,spmi-sdam"; 134 reg = <0x8500>; 135 #address-cells = <1>; 136 #size-cells = <1>; 137 ranges = <0 0x8500 0x100>; 138 }; 139 140 pmk8350_sdam_23: nvram@8600 { 141 compatible = "qcom,spmi-sdam"; 142 reg = <0x8600>; 143 #address-cells = <1>; 144 #size-cells = <1>; 145 ranges = <0 0x8600 0x100>; 146 }; 147 148 pmk8350_sdam_41: nvram@9800 { 149 compatible = "qcom,spmi-sdam"; 150 reg = <0x9800>; 151 #address-cells = <1>; 152 #size-cells = <1>; 153 ranges = <0 0x9800 0x100>; 154 }; 155 156 pmk8350_sdam_46: nvram@9d00 { 157 compatible = "qcom,spmi-sdam"; 158 reg = <0x9d00>; 159 #address-cells = <1>; 160 #size-cells = <1>; 161 ranges = <0 0x9d00 0x100>; 162 }; 163 164 pmk8350_gpios: gpio@b000 { 165 compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio"; 166 reg = <0xb000>; 167 gpio-controller; 168 gpio-ranges = <&pmk8350_gpios 0 0 4>; 169 #gpio-cells = <2>; 170 interrupt-controller; 171 #interrupt-cells = <2>; 172 }; 173 }; 174}; 175