blob: 38b305816d2f762c98aca13951fa35c32f035d8b [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
* MSM8992 LG G4 (h815) device tree.
*
* Copyright (c) 2024, Alexander Reimelt <alexander.reimelt@posteo.de>
*/
/dts-v1/;
#include "msm8992.dtsi"
#include "pm8994.dtsi"
#include "pmi8994.dtsi"
#include <dt-bindings/leds/common.h>
/* different mapping */
/delete-node/ &cont_splash_mem;
/* disabled downstream */
/delete-node/ &dfps_data_mem;
/ {
model = "LG G4 (H815)";
compatible = "lg,h815", "qcom,msm8992";
chassis-type = "handset";
qcom,msm-id = <0xfb 0x0>;
qcom,pmic-id = <0x10009 0x1000a 0x0 0x0>;
qcom,board-id = <0xb64 0x0>;
/* psci is broken */
/delete-node/ psci;
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
spin-table@6000000 {
reg = <0x0 0x06000000 0x0 0x00001000>;
no-map;
};
ramoops@ff00000 {
compatible = "ramoops";
reg = <0x0 0x0ff00000 0x0 0x00100000>;
console-size = <0x20000>;
pmsg-size = <0x20000>;
record-size = <0x10000>;
ecc-size = <0x10>;
};
cont_splash_mem: fb@3400000 {
reg = <0x0 0x03400000 0x0 0x00c00000>;
no-map;
};
crash_fb_mem: crash-fb@4000000 {
reg = <0x0 0x04000000 0x0 0x00c00000>;
no-map;
};
};
gpio-hall-sensor {
compatible = "gpio-keys";
pinctrl-0 = <&hall_sensor_default>;
pinctrl-names = "default";
label = "Hall Effect Sensor";
event-hall-sensor {
gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
label = "hall effect sensor";
linux,input-type = <EV_SW>;
linux,code = <SW_LID>;
linux,can-disable;
wakeup-source;
};
};
gpio-keys {
compatible = "gpio-keys";
key-vol-up {
label = "volume up";
gpios = <&pm8994_gpios 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
wakeup-source;
debounce-interval = <15>;
};
};
};
&CPU0 {
enable-method = "spin-table";
};
&CPU1 {
enable-method = "spin-table";
};
&CPU2 {
enable-method = "spin-table";
};
&CPU3 {
enable-method = "spin-table";
};
&CPU4 {
enable-method = "spin-table";
};
&CPU5 {
enable-method = "spin-table";
};
&pm8994_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm8994-regulators";
vdd_s3-supply = <&vph_pwr>;
vdd_s4-supply = <&vph_pwr>;
vdd_s5-supply = <&vph_pwr>;
vdd_s7-supply = <&vph_pwr>;
vdd_l1-supply = <&pmi8994_s1>;
vdd_l2_26_28-supply = <&pm8994_s3>;
vdd_l3_11-supply = <&pm8994_s3>;
vdd_l4_27_31-supply = <&pm8994_s3>;
vdd_l5_7-supply = <&pm8994_s5>;
vdd_l6_12_32-supply = <&pm8994_s5>;
vdd_l8_16_30-supply = <&vph_pwr>;
vdd_l9_10_18_22-supply = <&pmi8994_bby>;
vdd_l13_19_23_24-supply = <&pmi8994_bby>;
vdd_l14_15-supply = <&pm8994_s5>;
vdd_l17_29-supply = <&pmi8994_bby>;
vdd_l20_21-supply = <&pmi8994_bby>;
vdd_l25-supply = <&pm8994_s5>;
vdd_lvs1_2-supply = <&pm8994_s4>;
pm8994_s3: s3 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
};
/* sdhc1 vqmmc and bcm */
pm8994_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-system-load = <325000>;
regulator-allow-set-load;
};
pm8994_s5: s5 {
regulator-min-microvolt = <2150000>;
regulator-max-microvolt = <2150000>;
};
/* sdhc2 vqmmc */
pm8994_l13: l13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <22000>;
regulator-allow-set-load;
};
/* sdhc1 vmmc */
pm8994_l20: l20 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <570000>;
regulator-allow-set-load;
};
/* sdhc2 vmmc */
pm8994_l21: l21 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-system-load = <800000>;
regulator-allow-set-load;
};
};
regulators-1 {
compatible = "qcom,rpm-pmi8994-regulators";
vdd_s1-supply = <&vph_pwr>;
vdd_bst_byp-supply = <&vph_pwr>;
pmi8994_s1: s1 {
regulator-min-microvolt = <1025000>;
regulator-max-microvolt = <1025000>;
};
/* S2 & S3 - VDD_GFX */
pmi8994_bby: boost-bypass {
regulator-min-microvolt = <3150000>;
regulator-max-microvolt = <3600000>;
};
};
};
&sdhc1 {
mmc-hs400-1_8v;
vmmc-supply = <&pm8994_l20>;
vqmmc-supply = <&pm8994_s4>;
non-removable;
status = "okay";
};
&sdhc2 {
vmmc-supply = <&pm8994_l21>;
vqmmc-supply = <&pm8994_l13>;
cd-gpios = <&pm8994_gpios 8 GPIO_ACTIVE_LOW>;
status = "okay";
};
&tlmm {
hall_sensor_default: hall-sensor-default-state {
pins = "gpio75";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};