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@85500000 { 24 reg = <0x0 0x85500000 0x0 0xb00000>; 25 no-map; 26 }; 27 }; 28 29 gpio_hall_sensor: gpio-hall-sensor { 30 compatible = "gpio-keys"; 31 32 pinctrl-names = "default"; 33 pinctrl-0 = <&gpio_hall_sensor_default>; 34 35 label = "GPIO Hall Effect Sensor"; 36 37 event-hall-sensor { 38 label = "Hall Effect Sensor"; 39 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 40 linux,input-type = <EV_SW>; 41 linux,code = <SW_LID>; 42 linux,can-disable; 43 }; 44 }; 45 46 gpio-keys { 47 compatible = "gpio-keys"; 48 49 pinctrl-names = "default"; 50 pinctrl-0 = <&gpio_keys_default>; 51 52 label = "GPIO Buttons"; 53 54 button-volume-up { 55 label = "Volume Up"; 56 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 57 linux,code = <KEY_VOLUMEUP>; 58 }; 59 60 button-home { 61 label = "Home Key"; 62 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>; 63 linux,code = <KEY_HOMEPAGE>; 64 }; 65 }; 66 67 i2c_muic: i2c-muic { 68 compatible = "i2c-gpio"; 69 sda-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 70 scl-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 71 72 pinctrl-names = "default"; 73 pinctrl-0 = <&muic_i2c_default>; 74 75 #address-cells = <1>; 76 #size-cells = <0>; 77 78 muic: extcon@25 { 79 compatible = "siliconmitus,sm5703-muic"; 80 reg = <0x25>; 81 82 interrupt-parent = <&tlmm>; 83 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 84 85 pinctrl-names = "default"; 86 pinctrl-0 = <&muic_int_default>; 87 }; 88 }; 89 90 i2c_sensors: i2c-sensors { 91 compatible = "i2c-gpio"; 92 93 sda-gpios = <&tlmm 31 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 94 scl-gpios = <&tlmm 32 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 95 96 pinctrl-0 = <&sensors_i2c_default>; 97 pinctrl-names = "default"; 98 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 accelerometer: accelerometer@1d { 103 compatible = "st,lis2hh12"; 104 reg = <0x1d>; 105 106 interrupts-extended = <&tlmm 115 IRQ_TYPE_LEVEL_HIGH>; 107 108 pinctrl-0 = <&accel_int_default>; 109 pinctrl-names = "default"; 110 111 st,drdy-int-pin = <1>; 112 }; 113 }; 114}; 115 116&blsp_i2c5 { 117 status = "okay"; 118 119 touchscreen: touchscreen@50 { 120 compatible = "imagis,ist3038c"; 121 reg = <0x50>; 122 123 interrupt-parent = <&tlmm>; 124 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 125 126 touchscreen-size-x = <720>; 127 touchscreen-size-y = <1280>; 128 129 vddio-supply = <&pm8916_l6>; 130 131 pinctrl-0 = <&tsp_int_default>; 132 pinctrl-names = "default"; 133 }; 134}; 135 136&blsp_uart2 { 137 status = "okay"; 138}; 139 140&mpss_mem { 141 reg = <0x0 0x86800000 0x0 0x5800000>; 142}; 143 144&pm8916_resin { 145 status = "okay"; 146 linux,code = <KEY_VOLUMEDOWN>; 147}; 148 149&sdhc_1 { 150 status = "okay"; 151}; 152 153&sdhc_2 { 154 status = "okay"; 155 156 pinctrl-names = "default", "sleep"; 157 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 158 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 159 160 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 161}; 162 163&sound { 164 model = "msm8916-1mic"; 165 audio-routing = 166 "AMIC1", "MIC BIAS External1", 167 "AMIC2", "MIC BIAS Internal2", 168 "AMIC3", "MIC BIAS External1"; 169}; 170 171&usb { 172 extcon = <&muic>, <&muic>; 173 status = "okay"; 174}; 175 176&usb_hs_phy { 177 extcon = <&muic>; 178}; 179 180&venus { 181 status = "okay"; 182}; 183 184&venus_mem { 185 status = "okay"; 186}; 187 188&wcnss { 189 status = "okay"; 190}; 191 192&wcnss_iris { 193 compatible = "qcom,wcn3620"; 194}; 195 196&wcnss_mem { 197 status = "okay"; 198}; 199 200&tlmm { 201 accel_int_default: accel-int-default-state { 202 pins = "gpio115"; 203 function = "gpio"; 204 drive-strength = <2>; 205 bias-disable; 206 }; 207 208 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 209 pins = "gpio52"; 210 function = "gpio"; 211 212 drive-strength = <2>; 213 bias-disable; 214 }; 215 216 gpio_keys_default: gpio-keys-default-state { 217 pins = "gpio107", "gpio109"; 218 function = "gpio"; 219 220 drive-strength = <2>; 221 bias-pull-up; 222 }; 223 224 muic_i2c_default: muic-i2c-default-state { 225 pins = "gpio105", "gpio106"; 226 function = "gpio"; 227 228 drive-strength = <2>; 229 bias-disable; 230 }; 231 232 muic_int_default: muic-int-default-state { 233 pins = "gpio12"; 234 function = "gpio"; 235 236 drive-strength = <2>; 237 bias-disable; 238 }; 239 240 sdc2_cd_default: sdc2-cd-default-state { 241 pins = "gpio38"; 242 function = "gpio"; 243 244 drive-strength = <2>; 245 bias-disable; 246 }; 247 248 sensors_i2c_default: sensors-i2c-default-state { 249 pins = "gpio31", "gpio32"; 250 function = "gpio"; 251 drive-strength = <2>; 252 bias-disable; 253 }; 254 255 tsp_int_default: tsp-int-default-state { 256 pins = "gpio13"; 257 function = "gpio"; 258 259 drive-strength = <2>; 260 bias-disable; 261 }; 262}; 263