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