1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2/* 3 * MSM8992 LG G4 (h815) device tree. 4 * 5 * Copyright (c) 2024, Alexander Reimelt <alexander.reimelt@posteo.de> 6 */ 7 8/dts-v1/; 9 10#include "msm8992.dtsi" 11#include "pm8994.dtsi" 12#include "pmi8994.dtsi" 13#include <dt-bindings/leds/common.h> 14 15/* different mapping */ 16/delete-node/ &cont_splash_mem; 17 18/* disabled downstream */ 19/delete-node/ &dfps_data_mem; 20 21/ { 22 model = "LG G4 (H815)"; 23 compatible = "lg,h815", "qcom,msm8992"; 24 chassis-type = "handset"; 25 26 qcom,msm-id = <0xfb 0x0>; 27 qcom,pmic-id = <0x10009 0x1000a 0x0 0x0>; 28 qcom,board-id = <0xb64 0x0>; 29 30 /* psci is broken */ 31 /delete-node/ psci; 32 33 reserved-memory { 34 #address-cells = <2>; 35 #size-cells = <2>; 36 ranges; 37 38 spin-table@6000000 { 39 reg = <0x0 0x06000000 0x0 0x00001000>; 40 no-map; 41 }; 42 43 ramoops@ff00000 { 44 compatible = "ramoops"; 45 reg = <0x0 0x0ff00000 0x0 0x00100000>; 46 console-size = <0x20000>; 47 pmsg-size = <0x20000>; 48 record-size = <0x10000>; 49 ecc-size = <0x10>; 50 }; 51 52 cont_splash_mem: fb@3400000 { 53 reg = <0x0 0x03400000 0x0 0x00c00000>; 54 no-map; 55 }; 56 57 crash_fb_mem: crash-fb@4000000 { 58 reg = <0x0 0x04000000 0x0 0x00c00000>; 59 no-map; 60 }; 61 }; 62 63 gpio-hall-sensor { 64 compatible = "gpio-keys"; 65 66 pinctrl-0 = <&hall_sensor_default>; 67 pinctrl-names = "default"; 68 69 label = "Hall Effect Sensor"; 70 71 event-hall-sensor { 72 gpios = <&tlmm 75 GPIO_ACTIVE_LOW>; 73 label = "hall effect sensor"; 74 linux,input-type = <EV_SW>; 75 linux,code = <SW_LID>; 76 linux,can-disable; 77 wakeup-source; 78 }; 79 }; 80 81 gpio-keys { 82 compatible = "gpio-keys"; 83 84 key-vol-up { 85 label = "volume up"; 86 gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>; 87 linux,code = <KEY_VOLUMEUP>; 88 wakeup-source; 89 debounce-interval = <15>; 90 }; 91 }; 92}; 93 94&CPU0 { 95 enable-method = "spin-table"; 96}; 97 98&CPU1 { 99 enable-method = "spin-table"; 100}; 101 102&CPU2 { 103 enable-method = "spin-table"; 104}; 105 106&CPU3 { 107 enable-method = "spin-table"; 108}; 109 110&CPU4 { 111 enable-method = "spin-table"; 112}; 113 114&CPU5 { 115 enable-method = "spin-table"; 116}; 117 118&pm8994_resin { 119 linux,code = <KEY_VOLUMEDOWN>; 120 status = "okay"; 121}; 122 123&rpm_requests { 124 regulators-0 { 125 compatible = "qcom,rpm-pm8994-regulators"; 126 127 vdd_s3-supply = <&vph_pwr>; 128 vdd_s4-supply = <&vph_pwr>; 129 vdd_s5-supply = <&vph_pwr>; 130 vdd_s7-supply = <&vph_pwr>; 131 vdd_l1-supply = <&pmi8994_s1>; 132 vdd_l2_26_28-supply = <&pm8994_s3>; 133 vdd_l3_11-supply = <&pm8994_s3>; 134 vdd_l4_27_31-supply = <&pm8994_s3>; 135 vdd_l5_7-supply = <&pm8994_s5>; 136 vdd_l6_12_32-supply = <&pm8994_s5>; 137 vdd_l8_16_30-supply = <&vph_pwr>; 138 vdd_l9_10_18_22-supply = <&pmi8994_bby>; 139 vdd_l13_19_23_24-supply = <&pmi8994_bby>; 140 vdd_l14_15-supply = <&pm8994_s5>; 141 vdd_l17_29-supply = <&pmi8994_bby>; 142 vdd_l20_21-supply = <&pmi8994_bby>; 143 vdd_l25-supply = <&pm8994_s5>; 144 vdd_lvs1_2-supply = <&pm8994_s4>; 145 146 pm8994_s3: s3 { 147 regulator-min-microvolt = <1300000>; 148 regulator-max-microvolt = <1300000>; 149 }; 150 151 /* sdhc1 vqmmc and bcm */ 152 pm8994_s4: s4 { 153 regulator-min-microvolt = <1800000>; 154 regulator-max-microvolt = <1800000>; 155 regulator-system-load = <325000>; 156 regulator-allow-set-load; 157 }; 158 159 pm8994_s5: s5 { 160 regulator-min-microvolt = <2150000>; 161 regulator-max-microvolt = <2150000>; 162 }; 163 164 /* sdhc2 vqmmc */ 165 pm8994_l13: l13 { 166 regulator-min-microvolt = <1800000>; 167 regulator-max-microvolt = <2950000>; 168 regulator-system-load = <22000>; 169 regulator-allow-set-load; 170 }; 171 172 /* sdhc1 vmmc */ 173 pm8994_l20: l20 { 174 regulator-min-microvolt = <2950000>; 175 regulator-max-microvolt = <2950000>; 176 regulator-system-load = <570000>; 177 regulator-allow-set-load; 178 }; 179 180 /* sdhc2 vmmc */ 181 pm8994_l21: l21 { 182 regulator-min-microvolt = <2950000>; 183 regulator-max-microvolt = <2950000>; 184 regulator-system-load = <800000>; 185 regulator-allow-set-load; 186 }; 187 }; 188 189 regulators-1 { 190 compatible = "qcom,rpm-pmi8994-regulators"; 191 192 vdd_s1-supply = <&vph_pwr>; 193 vdd_bst_byp-supply = <&vph_pwr>; 194 195 pmi8994_s1: s1 { 196 regulator-min-microvolt = <1025000>; 197 regulator-max-microvolt = <1025000>; 198 }; 199 200 /* S2 & S3 - VDD_GFX */ 201 202 pmi8994_bby: boost-bypass { 203 regulator-min-microvolt = <3150000>; 204 regulator-max-microvolt = <3600000>; 205 }; 206 }; 207}; 208 209&sdhc1 { 210 mmc-hs400-1_8v; 211 vmmc-supply = <&pm8994_l20>; 212 vqmmc-supply = <&pm8994_s4>; 213 non-removable; 214 status = "okay"; 215}; 216 217&sdhc2 { 218 vmmc-supply = <&pm8994_l21>; 219 vqmmc-supply = <&pm8994_l13>; 220 cd-gpios = <&pm8994_gpios 8 GPIO_ACTIVE_LOW>; 221 status = "okay"; 222}; 223 224&tlmm { 225 hall_sensor_default: hall-sensor-default-state { 226 pins = "gpio75"; 227 function = "gpio"; 228 drive-strength = <2>; 229 bias-pull-up; 230 }; 231}; 232