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 pinctrl-0 = <&blsp_uart2_console_default>; 139 pinctrl-1 = <&blsp_uart2_console_sleep>; 140 pinctrl-names = "default", "sleep"; 141}; 142 143&mpss_mem { 144 reg = <0x0 0x86800000 0x0 0x5800000>; 145}; 146 147&pm8916_resin { 148 status = "okay"; 149 linux,code = <KEY_VOLUMEDOWN>; 150}; 151 152&sdhc_1 { 153 status = "okay"; 154}; 155 156&sdhc_2 { 157 status = "okay"; 158 159 pinctrl-names = "default", "sleep"; 160 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 161 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 162 163 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 164}; 165 166&sound { 167 model = "msm8916-1mic"; 168 audio-routing = 169 "AMIC1", "MIC BIAS External1", 170 "AMIC2", "MIC BIAS Internal2", 171 "AMIC3", "MIC BIAS External1"; 172}; 173 174&usb { 175 extcon = <&muic>, <&muic>; 176 status = "okay"; 177}; 178 179&usb_hs_phy { 180 extcon = <&muic>; 181}; 182 183&venus { 184 status = "okay"; 185}; 186 187&venus_mem { 188 status = "okay"; 189}; 190 191&wcnss { 192 status = "okay"; 193}; 194 195&wcnss_iris { 196 compatible = "qcom,wcn3620"; 197}; 198 199&wcnss_mem { 200 status = "okay"; 201}; 202 203&tlmm { 204 accel_int_default: accel-int-default-state { 205 pins = "gpio115"; 206 function = "gpio"; 207 drive-strength = <2>; 208 bias-disable; 209 }; 210 211 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 212 pins = "gpio52"; 213 function = "gpio"; 214 215 drive-strength = <2>; 216 bias-disable; 217 }; 218 219 gpio_keys_default: gpio-keys-default-state { 220 pins = "gpio107", "gpio109"; 221 function = "gpio"; 222 223 drive-strength = <2>; 224 bias-pull-up; 225 }; 226 227 muic_i2c_default: muic-i2c-default-state { 228 pins = "gpio105", "gpio106"; 229 function = "gpio"; 230 231 drive-strength = <2>; 232 bias-disable; 233 }; 234 235 muic_int_default: muic-int-default-state { 236 pins = "gpio12"; 237 function = "gpio"; 238 239 drive-strength = <2>; 240 bias-disable; 241 }; 242 243 sdc2_cd_default: sdc2-cd-default-state { 244 pins = "gpio38"; 245 function = "gpio"; 246 247 drive-strength = <2>; 248 bias-disable; 249 }; 250 251 sensors_i2c_default: sensors-i2c-default-state { 252 pins = "gpio31", "gpio32"; 253 function = "gpio"; 254 drive-strength = <2>; 255 bias-disable; 256 }; 257 258 tsp_int_default: tsp-int-default-state { 259 pins = "gpio13"; 260 function = "gpio"; 261 262 drive-strength = <2>; 263 bias-disable; 264 }; 265}; 266