1cff9a76fSLukas Walter// SPDX-License-Identifier: GPL-2.0-only 2cff9a76fSLukas Walter 3cff9a76fSLukas Walter/dts-v1/; 4cff9a76fSLukas Walter 5cff9a76fSLukas Walter#include "msm8939-pm8916.dtsi" 6cff9a76fSLukas Walter#include <dt-bindings/gpio/gpio.h> 7cff9a76fSLukas Walter 8cff9a76fSLukas Walter/ { 9cff9a76fSLukas Walter model = "Huawei Honor 5X / GR5 (2016)"; 10cff9a76fSLukas Walter compatible = "huawei,kiwi", "qcom,msm8939"; 11cff9a76fSLukas Walter chassis-type = "handset"; 12cff9a76fSLukas Walter 13cff9a76fSLukas Walter aliases { 14cff9a76fSLukas Walter mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 15cff9a76fSLukas Walter mmc1 = &sdhc_2; /* SDC2 SD card slot */ 16cff9a76fSLukas Walter serial0 = &blsp_uart2; 17cff9a76fSLukas Walter }; 18cff9a76fSLukas Walter 19cff9a76fSLukas Walter chosen { 20cff9a76fSLukas Walter stdout-path = "serial0"; 21cff9a76fSLukas Walter }; 22cff9a76fSLukas Walter 23cff9a76fSLukas Walter reserved-memory { 24cff9a76fSLukas Walter qseecom_mem: qseecom@84a00000 { 25cff9a76fSLukas Walter reg = <0x0 0x84a00000 0x0 0x1600000>; 26cff9a76fSLukas Walter no-map; 27cff9a76fSLukas Walter }; 28cff9a76fSLukas Walter }; 29cff9a76fSLukas Walter 30cff9a76fSLukas Walter gpio-hall-sensor { 31cff9a76fSLukas Walter compatible = "gpio-keys"; 32cff9a76fSLukas Walter 33cff9a76fSLukas Walter pinctrl-0 = <&gpio_hall_sensor_default>; 34cff9a76fSLukas Walter pinctrl-names = "default"; 35cff9a76fSLukas Walter 36cff9a76fSLukas Walter label = "GPIO Hall Effect Sensor"; 37cff9a76fSLukas Walter 38cff9a76fSLukas Walter event-hall-sensor { 39cff9a76fSLukas Walter label = "Hall Effect Sensor"; 40cff9a76fSLukas Walter gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 41cff9a76fSLukas Walter linux,input-type = <EV_SW>; 42cff9a76fSLukas Walter linux,code = <SW_LID>; 43cff9a76fSLukas Walter linux,can-disable; 44cff9a76fSLukas Walter }; 45cff9a76fSLukas Walter }; 46cff9a76fSLukas Walter 47cff9a76fSLukas Walter gpio-keys { 48cff9a76fSLukas Walter compatible = "gpio-keys"; 49cff9a76fSLukas Walter 50cff9a76fSLukas Walter pinctrl-0 = <&gpio_keys_default>; 51cff9a76fSLukas Walter pinctrl-names = "default"; 52cff9a76fSLukas Walter 53cff9a76fSLukas Walter label = "GPIO Buttons"; 54cff9a76fSLukas Walter 55cff9a76fSLukas Walter button-volume-up { 56cff9a76fSLukas Walter label = "Volume Up"; 57cff9a76fSLukas Walter gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 58cff9a76fSLukas Walter linux,code = <KEY_VOLUMEUP>; 59cff9a76fSLukas Walter }; 60cff9a76fSLukas Walter }; 61cff9a76fSLukas Walter 62cff9a76fSLukas Walter usb_id: usb-id { 63cff9a76fSLukas Walter compatible = "linux,extcon-usb-gpio"; 64cff9a76fSLukas Walter id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 65cff9a76fSLukas Walter pinctrl-0 = <&usb_id_default>; 66cff9a76fSLukas Walter pinctrl-names = "default"; 67cff9a76fSLukas Walter }; 68cff9a76fSLukas Walter}; 69cff9a76fSLukas Walter 70cff9a76fSLukas Walter&blsp_i2c2 { 71cff9a76fSLukas Walter status = "okay"; 72cff9a76fSLukas Walter 73cff9a76fSLukas Walter accelerometer@1e { 74cff9a76fSLukas Walter compatible = "kionix,kx023-1025"; 75cff9a76fSLukas Walter reg = <0x1e>; 76cff9a76fSLukas Walter 77cff9a76fSLukas Walter vdd-supply = <&pm8916_l17>; 78cff9a76fSLukas Walter vddio-supply = <&pm8916_l6>; 79cff9a76fSLukas Walter pinctrl-0 = <&accel_int_default>; 80cff9a76fSLukas Walter pinctrl-names = "default"; 81cff9a76fSLukas Walter mount-matrix = "-1", "0", "0", 82cff9a76fSLukas Walter "0", "1", "0", 83cff9a76fSLukas Walter "0", "0", "1"; 84cff9a76fSLukas Walter }; 85cff9a76fSLukas Walter 86cff9a76fSLukas Walter proximity@39 { 87cff9a76fSLukas Walter compatible = "avago,apds9930"; 88cff9a76fSLukas Walter reg = <0x39>; 89cff9a76fSLukas Walter 90cff9a76fSLukas Walter interrupt-parent = <&tlmm>; 91cff9a76fSLukas Walter interrupts = <113 IRQ_TYPE_EDGE_FALLING>; 92cff9a76fSLukas Walter 93cff9a76fSLukas Walter vdd-supply = <&pm8916_l17>; 94cff9a76fSLukas Walter vddio-supply = <&pm8916_l6>; 95cff9a76fSLukas Walter 96cff9a76fSLukas Walter led-max-microamp = <25000>; 97cff9a76fSLukas Walter amstaos,proximity-diodes = <0>; 98cff9a76fSLukas Walter 99cff9a76fSLukas Walter pinctrl-0 = <&prox_irq_default>; 100cff9a76fSLukas Walter pinctrl-names = "default"; 101cff9a76fSLukas Walter }; 102cff9a76fSLukas Walter}; 103cff9a76fSLukas Walter 104cff9a76fSLukas Walter&blsp_i2c5 { 105cff9a76fSLukas Walter status = "okay"; 106cff9a76fSLukas Walter 107cff9a76fSLukas Walter touchscreen@1c { 108cff9a76fSLukas Walter compatible = "cypress,tt21000"; 109cff9a76fSLukas Walter 110cff9a76fSLukas Walter reg = <0x1c>; 111cff9a76fSLukas Walter interrupt-parent = <&tlmm>; 112cff9a76fSLukas Walter interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 113cff9a76fSLukas Walter 114cff9a76fSLukas Walter reset-gpios = <&tlmm 12 GPIO_ACTIVE_LOW>; 115cff9a76fSLukas Walter 116cff9a76fSLukas Walter /* 117cff9a76fSLukas Walter * NOTE: vdd is not directly supplied by pm8916_l16, it seems to be a 118cff9a76fSLukas Walter * fixed regulator that is automatically enabled by pm8916_l16. 119cff9a76fSLukas Walter */ 120cff9a76fSLukas Walter vdd-supply = <&pm8916_l16>; 121cff9a76fSLukas Walter vddio-supply = <&pm8916_l16>; 122cff9a76fSLukas Walter 123cff9a76fSLukas Walter pinctrl-0 = <&touchscreen_default>; 124cff9a76fSLukas Walter pinctrl-names = "default"; 125cff9a76fSLukas Walter }; 126cff9a76fSLukas Walter}; 127cff9a76fSLukas Walter 128cff9a76fSLukas Walter&blsp_uart2 { 129*2b8d22efSStephan Gerhold pinctrl-0 = <&blsp_uart2_console_default>; 130*2b8d22efSStephan Gerhold pinctrl-1 = <&blsp_uart2_console_sleep>; 1318d88f6c9SStephan Gerhold pinctrl-names = "default", "sleep"; 132cff9a76fSLukas Walter status = "okay"; 133cff9a76fSLukas Walter}; 134cff9a76fSLukas Walter 135cff9a76fSLukas Walter&pm8916_l8 { 136cff9a76fSLukas Walter regulator-min-microvolt = <2950000>; 137cff9a76fSLukas Walter regulator-max-microvolt = <2950000>; 138cff9a76fSLukas Walter}; 139cff9a76fSLukas Walter 140cff9a76fSLukas Walter&pm8916_resin { 141cff9a76fSLukas Walter linux,code = <KEY_VOLUMEDOWN>; 142cff9a76fSLukas Walter status = "okay"; 143cff9a76fSLukas Walter}; 144cff9a76fSLukas Walter 145cff9a76fSLukas Walter&pm8916_rpm_regulators { 146cff9a76fSLukas Walter pm8916_l16: l16 { 147cff9a76fSLukas Walter regulator-min-microvolt = <1800000>; 148cff9a76fSLukas Walter regulator-max-microvolt = <1800000>; 149cff9a76fSLukas Walter }; 150cff9a76fSLukas Walter 151cff9a76fSLukas Walter pm8916_l17: l17 { 152cff9a76fSLukas Walter regulator-min-microvolt = <2850000>; 153cff9a76fSLukas Walter regulator-max-microvolt = <2850000>; 154cff9a76fSLukas Walter }; 155cff9a76fSLukas Walter}; 156cff9a76fSLukas Walter 157cff9a76fSLukas Walter&pm8916_vib { 158cff9a76fSLukas Walter status = "okay"; 159cff9a76fSLukas Walter}; 160cff9a76fSLukas Walter 161cff9a76fSLukas Walter&sdhc_1 { 162cff9a76fSLukas Walter status = "okay"; 163cff9a76fSLukas Walter}; 164cff9a76fSLukas Walter 165cff9a76fSLukas Walter&sdhc_2 { 166cff9a76fSLukas Walter pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 167cff9a76fSLukas Walter pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 168cff9a76fSLukas Walter pinctrl-names = "default", "sleep"; 169cff9a76fSLukas Walter 170cff9a76fSLukas Walter cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; 171cff9a76fSLukas Walter 172cff9a76fSLukas Walter status = "okay"; 173cff9a76fSLukas Walter}; 174cff9a76fSLukas Walter 175cff9a76fSLukas Walter&usb { 176cff9a76fSLukas Walter extcon = <&usb_id>, <&usb_id>; 177cff9a76fSLukas Walter status = "okay"; 178cff9a76fSLukas Walter}; 179cff9a76fSLukas Walter 180cff9a76fSLukas Walter&usb_hs_phy { 181cff9a76fSLukas Walter extcon = <&usb_id>; 182cff9a76fSLukas Walter}; 183cff9a76fSLukas Walter 184cff9a76fSLukas Walter&wcnss { 185cff9a76fSLukas Walter status = "okay"; 186cff9a76fSLukas Walter}; 187cff9a76fSLukas Walter 188cff9a76fSLukas Walter&wcnss_iris { 189cff9a76fSLukas Walter compatible = "qcom,wcn3620"; 190cff9a76fSLukas Walter}; 191cff9a76fSLukas Walter 192cff9a76fSLukas Walter&wcnss_mem { 193cff9a76fSLukas Walter status = "okay"; 194cff9a76fSLukas Walter}; 195cff9a76fSLukas Walter 196cff9a76fSLukas Walter&tlmm { 197cff9a76fSLukas Walter accel_int_default: accel-int-default-state { 198cff9a76fSLukas Walter pins = "gpio115"; 199cff9a76fSLukas Walter function = "gpio"; 200cff9a76fSLukas Walter drive-strength = <2>; 201cff9a76fSLukas Walter bias-disable; 202cff9a76fSLukas Walter }; 203cff9a76fSLukas Walter 204cff9a76fSLukas Walter gpio_hall_sensor_default: gpio-hall-sensor-default-state { 205cff9a76fSLukas Walter pins = "gpio69"; 206cff9a76fSLukas Walter function = "gpio"; 207cff9a76fSLukas Walter drive-strength = <2>; 208cff9a76fSLukas Walter bias-disable; 209cff9a76fSLukas Walter }; 210cff9a76fSLukas Walter 211cff9a76fSLukas Walter gpio_keys_default: gpio-keys-default-state { 212cff9a76fSLukas Walter pins = "gpio107"; 213cff9a76fSLukas Walter function = "gpio"; 214cff9a76fSLukas Walter drive-strength = <2>; 215cff9a76fSLukas Walter bias-pull-up; 216cff9a76fSLukas Walter }; 217cff9a76fSLukas Walter 218cff9a76fSLukas Walter prox_irq_default: prox-irq-default-state { 219cff9a76fSLukas Walter pins = "gpio113"; 220cff9a76fSLukas Walter function = "gpio"; 221cff9a76fSLukas Walter drive-strength = <2>; 222cff9a76fSLukas Walter bias-disable; 223cff9a76fSLukas Walter }; 224cff9a76fSLukas Walter 225cff9a76fSLukas Walter sdc2_cd_default: sdc2-cd-default-state { 226cff9a76fSLukas Walter pins = "gpio38"; 227cff9a76fSLukas Walter function = "gpio"; 228cff9a76fSLukas Walter drive-strength = <2>; 229cff9a76fSLukas Walter bias-disable; 230cff9a76fSLukas Walter }; 231cff9a76fSLukas Walter 232cff9a76fSLukas Walter touchscreen_default: touchscreen-default-state { 233cff9a76fSLukas Walter pins = "gpio12", "gpio13"; 234cff9a76fSLukas Walter function = "gpio"; 235cff9a76fSLukas Walter drive-strength = <2>; 236cff9a76fSLukas Walter bias-disable; 237cff9a76fSLukas Walter }; 238cff9a76fSLukas Walter 239cff9a76fSLukas Walter usb_id_default: usb-id-default-state { 240cff9a76fSLukas Walter pins = "gpio110"; 241cff9a76fSLukas Walter function = "gpio"; 242cff9a76fSLukas Walter drive-strength = <8>; 243cff9a76fSLukas Walter bias-pull-up; 244cff9a76fSLukas Walter }; 245cff9a76fSLukas Walter}; 246