1// SPDX-License-Identifier: GPL-2.0-only 2 3#include "msm8916-pm8916.dtsi" 4#include "msm8916-modem-qdsp6.dtsi" 5 6#include <dt-bindings/gpio/gpio.h> 7#include <dt-bindings/input/input.h> 8#include <dt-bindings/interrupt-controller/irq.h> 9 10/ { 11 aliases { 12 mmc0 = &sdhc_1; /* eMMC */ 13 mmc1 = &sdhc_2; /* SD card */ 14 serial0 = &blsp_uart2; 15 }; 16 17 chosen { 18 stdout-path = "serial0"; 19 }; 20 21 reserved-memory { 22 /* Additional memory used by Samsung firmware modifications */ 23 tz-apps@85a00000 { 24 reg = <0x0 0x85a00000 0x0 0x600000>; 25 no-map; 26 }; 27 }; 28 29 gpio-keys { 30 compatible = "gpio-keys"; 31 32 pinctrl-0 = <&gpio_keys_default>; 33 pinctrl-names = "default"; 34 35 label = "GPIO Buttons"; 36 37 button-volume-up { 38 label = "Volume Up"; 39 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 40 linux,code = <KEY_VOLUMEUP>; 41 }; 42 43 button-home { 44 label = "Home"; 45 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>; 46 linux,code = <KEY_HOMEPAGE>; 47 }; 48 }; 49 50 haptic { 51 compatible = "regulator-haptic"; 52 haptic-supply = <®_motor_vdd>; 53 min-microvolt = <3300000>; 54 max-microvolt = <3300000>; 55 }; 56 57 reg_motor_vdd: regulator-motor-vdd { 58 compatible = "regulator-fixed"; 59 regulator-name = "motor_vdd"; 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <3300000>; 62 63 gpio = <&tlmm 72 GPIO_ACTIVE_HIGH>; 64 enable-active-high; 65 66 pinctrl-0 = <&motor_en_default>; 67 pinctrl-names = "default"; 68 }; 69}; 70 71&blsp_i2c1 { 72 status = "okay"; 73 74 muic: extcon@25 { 75 compatible = "siliconmitus,sm5502-muic"; 76 reg = <0x25>; 77 interrupts-extended = <&tlmm 12 IRQ_TYPE_EDGE_FALLING>; 78 pinctrl-0 = <&muic_int_default>; 79 pinctrl-names = "default"; 80 }; 81}; 82 83&blsp_i2c4 { 84 status = "okay"; 85 86 fuel-gauge@35 { 87 compatible = "richtek,rt5033-battery"; 88 reg = <0x35>; 89 90 interrupts-extended = <&tlmm 121 IRQ_TYPE_EDGE_FALLING>; 91 92 pinctrl-0 = <&fg_alert_default>; 93 pinctrl-names = "default"; 94 }; 95}; 96 97&blsp_uart2 { 98 status = "okay"; 99}; 100 101&mpss_mem { 102 reg = <0x0 0x86800000 0x0 0x5000000>; 103}; 104 105&pm8916_resin { 106 linux,code = <KEY_VOLUMEDOWN>; 107 status = "okay"; 108}; 109 110&pm8916_rpm_regulators { 111 pm8916_l17: l17 { 112 regulator-min-microvolt = <2850000>; 113 regulator-max-microvolt = <2850000>; 114 }; 115}; 116 117&sdhc_1 { 118 status = "okay"; 119}; 120 121&sdhc_2 { 122 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 123 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 124 pinctrl-names = "default", "sleep"; 125 126 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 127 128 status = "okay"; 129}; 130 131&sound { 132 model = "msm8916-1mic"; 133 audio-routing = 134 "AMIC1", "MIC BIAS External1", 135 "AMIC2", "MIC BIAS Internal2", 136 "AMIC3", "MIC BIAS External1"; 137}; 138 139&usb { 140 extcon = <&muic>, <&muic>; 141 status = "okay"; 142}; 143 144&usb_hs_phy { 145 extcon = <&muic>; 146}; 147 148&venus { 149 status = "okay"; 150}; 151 152&venus_mem { 153 status = "okay"; 154}; 155 156&wcnss { 157 status = "okay"; 158}; 159 160&wcnss_iris { 161 compatible = "qcom,wcn3620"; 162}; 163 164&wcnss_mem { 165 status = "okay"; 166}; 167 168&tlmm { 169 fg_alert_default: fg-alert-default-state { 170 pins = "gpio121"; 171 function = "gpio"; 172 drive-strength = <2>; 173 bias-disable; 174 }; 175 176 gpio_keys_default: gpio-keys-default-state { 177 pins = "gpio107", "gpio109"; 178 function = "gpio"; 179 drive-strength = <2>; 180 bias-pull-up; 181 }; 182 183 motor_en_default: motor-en-default-state { 184 pins = "gpio72"; 185 function = "gpio"; 186 drive-strength = <2>; 187 bias-disable; 188 }; 189 190 muic_int_default: muic-int-default-state { 191 pins = "gpio12"; 192 function = "gpio"; 193 drive-strength = <2>; 194 bias-disable; 195 }; 196 197 sdc2_cd_default: sdc2-cd-default-state { 198 pins = "gpio38"; 199 function = "gpio"; 200 drive-strength = <2>; 201 bias-disable; 202 }; 203}; 204