Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / qcom / msm8916-longcheer-l8910.dts
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/leds/common.h>
9
10 / {
11         model = "BQ Aquaris X5 (Longcheer L8910)";
12         compatible = "longcheer,l8910", "qcom,msm8916";
13         chassis-type = "handset";
14
15         aliases {
16                 mmc0 = &sdhc_1; /* eMMC */
17                 mmc1 = &sdhc_2; /* SD card */
18                 serial0 = &blsp_uart2;
19         };
20
21         chosen {
22                 stdout-path = "serial0";
23         };
24
25         flash-led-controller {
26                 compatible = "ocs,ocp8110";
27                 enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>;
28                 flash-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>;
29
30                 pinctrl-0 = <&camera_front_flash_default>;
31                 pinctrl-names = "default";
32
33                 flash_led: led {
34                         function = LED_FUNCTION_FLASH;
35                         color = <LED_COLOR_ID_WHITE>;
36                         flash-max-timeout-us = <250000>;
37                 };
38         };
39
40         gpio-keys {
41                 compatible = "gpio-keys";
42
43                 pinctrl-names = "default";
44                 pinctrl-0 = <&gpio_keys_default>;
45
46                 label = "GPIO Buttons";
47
48                 button-volume-up {
49                         label = "Volume Up";
50                         gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
51                         linux,code = <KEY_VOLUMEUP>;
52                 };
53         };
54
55         leds {
56                 compatible = "gpio-leds";
57
58                 led-0 {
59                         gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
60                         color = <LED_COLOR_ID_WHITE>;
61                         default-state = "off";
62                         function = LED_FUNCTION_KBD_BACKLIGHT;
63
64                         pinctrl-names = "default";
65                         pinctrl-0 = <&button_backlight_default>;
66                 };
67         };
68
69         usb_id: usb-id {
70                 compatible = "linux,extcon-usb-gpio";
71                 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
72                 pinctrl-names = "default";
73                 pinctrl-0 = <&usb_id_default>;
74         };
75 };
76
77 &blsp_i2c3 {
78         status = "okay";
79
80         magnetometer@d {
81                 compatible = "asahi-kasei,ak09911";
82                 reg = <0x0d>;
83
84                 vdd-supply = <&pm8916_l17>;
85                 vid-supply = <&pm8916_l6>;
86
87                 reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>;
88
89                 pinctrl-names = "default";
90                 pinctrl-0 = <&mag_reset_default>;
91         };
92
93         imu@68 {
94                 compatible = "bosch,bmi160";
95                 reg = <0x68>;
96
97                 vdd-supply = <&pm8916_l17>;
98                 vddio-supply = <&pm8916_l6>;
99
100                 mount-matrix = "0", "1", "0",
101                               "-1", "0", "0",
102                                "0", "0", "1";
103         };
104 };
105
106 &blsp_uart2 {
107         status = "okay";
108 };
109
110 &pm8916_resin {
111         status = "okay";
112         linux,code = <KEY_VOLUMEDOWN>;
113 };
114
115 &pm8916_rpm_regulators {
116         pm8916_l17: l17 {
117                 regulator-min-microvolt = <2850000>;
118                 regulator-max-microvolt = <2850000>;
119         };
120 };
121
122 &pm8916_vib {
123         status = "okay";
124 };
125
126 &sdhc_1 {
127         status = "okay";
128 };
129
130 &sdhc_2 {
131         status = "okay";
132
133         pinctrl-names = "default", "sleep";
134         pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
135         pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
136
137         cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
138 };
139
140 &usb {
141         status = "okay";
142         extcon = <&usb_id>, <&usb_id>;
143 };
144
145 &usb_hs_phy {
146         extcon = <&usb_id>;
147 };
148
149 &venus {
150         status = "okay";
151 };
152
153 &venus_mem {
154         status = "okay";
155 };
156
157 &wcnss {
158         status = "okay";
159 };
160
161 &wcnss_iris {
162         compatible = "qcom,wcn3620";
163 };
164
165 &wcnss_mem {
166         status = "okay";
167 };
168
169 &tlmm {
170         button_backlight_default: button-backlight-default-state {
171                 pins = "gpio17";
172                 function = "gpio";
173
174                 drive-strength = <2>;
175                 bias-disable;
176         };
177
178         camera_front_flash_default: camera-front-flash-default-state {
179                 pins = "gpio49", "gpio119";
180                 function = "gpio";
181                 drive-strength = <2>;
182                 bias-disable;
183         };
184
185         gpio_keys_default: gpio-keys-default-state {
186                 pins = "gpio107";
187                 function = "gpio";
188
189                 drive-strength = <2>;
190                 bias-pull-up;
191         };
192
193         mag_reset_default: mag-reset-default-state {
194                 pins = "gpio111";
195                 function = "gpio";
196
197                 drive-strength = <2>;
198                 bias-disable;
199         };
200
201         sdc2_cd_default: sdc2-cd-default-state {
202                 pins = "gpio38";
203                 function = "gpio";
204                 drive-strength = <2>;
205                 bias-disable;
206         };
207
208         usb_id_default: usb-id-default-state {
209                 pins = "gpio110";
210                 function = "gpio";
211
212                 drive-strength = <8>;
213                 bias-pull-up;
214         };
215 };