1// SPDX-License-Identifier: GPL-2.0-only 2 3/dts-v1/; 4 5#include "msm8916-pm8916.dtsi" 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-keys { 30 compatible = "gpio-keys"; 31 32 pinctrl-0 = <&gpio_keys_default>; 33 pinctrl-names = "default"; 34 35 label = "GPIO Buttons"; 36 37 volume-up-button { 38 label = "Volume Up"; 39 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 40 linux,code = <KEY_VOLUMEUP>; 41 }; 42 43 home-button { 44 label = "Home"; 45 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>; 46 linux,code = <KEY_HOMEPAGE>; 47 }; 48 }; 49 50 gpio-hall-sensor { 51 compatible = "gpio-keys"; 52 53 pinctrl-0 = <&gpio_hall_sensor_default>; 54 pinctrl-names = "default"; 55 56 label = "GPIO Hall Effect Sensor"; 57 58 hall-sensor-switch { 59 label = "Hall Effect Sensor"; 60 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 61 linux,input-type = <EV_SW>; 62 linux,code = <SW_LID>; 63 linux,can-disable; 64 }; 65 }; 66}; 67 68&blsp_i2c4 { 69 status = "okay"; 70 71 fuelgauge@36 { 72 compatible = "maxim,max77849-battery"; 73 reg = <0x36>; 74 75 maxim,rsns-microohm = <10000>; 76 maxim,over-heat-temp = <600>; 77 maxim,over-volt = <4400>; 78 79 interrupt-parent = <&tlmm>; 80 interrupts = <121 IRQ_TYPE_EDGE_FALLING>; 81 82 pinctrl-0 = <&fuelgauge_int_default>; 83 pinctrl-names = "default"; 84 }; 85}; 86 87&blsp_i2c2 { 88 status = "okay"; 89 90 light-sensor@10 { 91 compatible = "capella,cm3323"; 92 reg = <0x10>; 93 }; 94 95 accelerometer@1d { 96 compatible = "st,lis2hh12"; 97 reg = <0x1d>; 98 99 vdd-supply = <&pm8916_l17>; 100 vddio-supply = <&pm8916_l5>; 101 102 interrupt-parent = <&tlmm>; 103 interrupts = <115 IRQ_TYPE_LEVEL_HIGH>; 104 105 st,drdy-int-pin = <1>; 106 mount-matrix = "0", "1", "0", 107 "-1", "0", "0", 108 "0", "0", "1"; 109 110 pinctrl-0 = <&accel_int_default>; 111 pinctrl-names = "default"; 112 }; 113}; 114 115&blsp_uart2 { 116 status = "okay"; 117}; 118 119&pm8916_resin { 120 linux,code = <KEY_VOLUMEDOWN>; 121 status = "okay"; 122}; 123 124&pm8916_rpm_regulators { 125 pm8916_l17: l17 { 126 regulator-min-microvolt = <2850000>; 127 regulator-max-microvolt = <2850000>; 128 }; 129}; 130 131/* FIXME: Replace with MAX77849 MUIC when driver is available */ 132&pm8916_usbin { 133 status = "okay"; 134}; 135 136&sdhc_1 { 137 status = "okay"; 138}; 139 140&sdhc_2 { 141 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 142 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 143 pinctrl-names = "default", "sleep"; 144 145 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 146 147 status = "okay"; 148}; 149 150&usb { 151 dr_mode = "peripheral"; 152 extcon = <&pm8916_usbin>; 153 154 status = "okay"; 155}; 156 157&usb_hs_phy { 158 extcon = <&pm8916_usbin>; 159}; 160 161&wcnss { 162 status = "okay"; 163}; 164 165&wcnss_iris { 166 compatible = "qcom,wcn3660b"; 167}; 168 169&tlmm { 170 accel_int_default: accel-int-default-state { 171 pins = "gpio115"; 172 function = "gpio"; 173 drive-strength = <2>; 174 bias-disable; 175 }; 176 177 fuelgauge_int_default: fuelgauge-int-default-state { 178 pins = "gpio121"; 179 function = "gpio"; 180 drive-strength = <2>; 181 bias-disable; 182 }; 183 184 gpio_keys_default: gpio-keys-default-state { 185 pins = "gpio107", "gpio109"; 186 function = "gpio"; 187 drive-strength = <2>; 188 bias-pull-up; 189 }; 190 191 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 192 pins = "gpio52"; 193 function = "gpio"; 194 drive-strength = <2>; 195 bias-disable; 196 }; 197 198 sdc2_cd_default: sdc2-cd-default-state { 199 pins = "gpio38"; 200 function = "gpio"; 201 drive-strength = <2>; 202 bias-disable; 203 }; 204}; 205