1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 /dts-v1/; 3 /dts-v1/; 4 4 5 #include "msm8916-pm8916.dtsi" 5 #include "msm8916-pm8916.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" 6 #include "msm8916-modem-qdsp6.dtsi" 7 7 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 12 12 13 / { 13 / { 14 model = "BQ Aquaris X5 (Longcheer L891 14 model = "BQ Aquaris X5 (Longcheer L8910)"; 15 compatible = "longcheer,l8910", "qcom, 15 compatible = "longcheer,l8910", "qcom,msm8916"; 16 chassis-type = "handset"; 16 chassis-type = "handset"; 17 17 18 aliases { 18 aliases { 19 mmc0 = &sdhc_1; /* eMMC */ 19 mmc0 = &sdhc_1; /* eMMC */ 20 mmc1 = &sdhc_2; /* SD card */ 20 mmc1 = &sdhc_2; /* SD card */ 21 serial0 = &blsp_uart2; 21 serial0 = &blsp_uart2; 22 }; 22 }; 23 23 24 chosen { 24 chosen { 25 stdout-path = "serial0"; 25 stdout-path = "serial0"; 26 }; 26 }; 27 27 28 speaker_amp: audio-amplifier { 28 speaker_amp: audio-amplifier { 29 compatible = "awinic,aw8738"; 29 compatible = "awinic,aw8738"; 30 mode-gpios = <&tlmm 114 GPIO_A 30 mode-gpios = <&tlmm 114 GPIO_ACTIVE_HIGH>; 31 awinic,mode = <5>; 31 awinic,mode = <5>; 32 sound-name-prefix = "Speaker A 32 sound-name-prefix = "Speaker Amp"; 33 33 34 pinctrl-0 = <&spk_ext_pa_defau 34 pinctrl-0 = <&spk_ext_pa_default>; 35 pinctrl-names = "default"; 35 pinctrl-names = "default"; 36 }; 36 }; 37 37 38 flash-led-controller { 38 flash-led-controller { 39 compatible = "ocs,ocp8110"; 39 compatible = "ocs,ocp8110"; 40 enable-gpios = <&tlmm 49 GPIO_ 40 enable-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; 41 flash-gpios = <&tlmm 119 GPIO_ 41 flash-gpios = <&tlmm 119 GPIO_ACTIVE_HIGH>; 42 42 43 pinctrl-0 = <&camera_front_fla 43 pinctrl-0 = <&camera_front_flash_default>; 44 pinctrl-names = "default"; 44 pinctrl-names = "default"; 45 45 46 flash_led: led { 46 flash_led: led { 47 function = LED_FUNCTIO 47 function = LED_FUNCTION_FLASH; 48 color = <LED_COLOR_ID_ 48 color = <LED_COLOR_ID_WHITE>; 49 flash-max-timeout-us = 49 flash-max-timeout-us = <250000>; 50 }; 50 }; 51 }; 51 }; 52 52 53 gpio-keys { 53 gpio-keys { 54 compatible = "gpio-keys"; 54 compatible = "gpio-keys"; 55 55 56 pinctrl-names = "default"; 56 pinctrl-names = "default"; 57 pinctrl-0 = <&gpio_keys_defaul 57 pinctrl-0 = <&gpio_keys_default>; 58 58 59 label = "GPIO Buttons"; 59 label = "GPIO Buttons"; 60 60 61 button-volume-up { 61 button-volume-up { 62 label = "Volume Up"; 62 label = "Volume Up"; 63 gpios = <&tlmm 107 GPI 63 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 64 linux,code = <KEY_VOLU 64 linux,code = <KEY_VOLUMEUP>; 65 }; 65 }; 66 }; 66 }; 67 67 68 leds { 68 leds { 69 compatible = "gpio-leds"; 69 compatible = "gpio-leds"; 70 70 71 led-0 { 71 led-0 { 72 gpios = <&tlmm 17 GPIO 72 gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>; 73 color = <LED_COLOR_ID_ 73 color = <LED_COLOR_ID_WHITE>; 74 default-state = "off"; 74 default-state = "off"; 75 function = LED_FUNCTIO 75 function = LED_FUNCTION_KBD_BACKLIGHT; 76 76 77 pinctrl-names = "defau 77 pinctrl-names = "default"; 78 pinctrl-0 = <&button_b 78 pinctrl-0 = <&button_backlight_default>; 79 }; 79 }; 80 }; 80 }; 81 81 82 usb_id: usb-id { 82 usb_id: usb-id { 83 compatible = "linux,extcon-usb 83 compatible = "linux,extcon-usb-gpio"; 84 id-gpios = <&tlmm 110 GPIO_ACT 84 id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 85 pinctrl-names = "default"; 85 pinctrl-names = "default"; 86 pinctrl-0 = <&usb_id_default>; 86 pinctrl-0 = <&usb_id_default>; 87 }; 87 }; 88 }; 88 }; 89 89 90 &blsp_i2c2 { 90 &blsp_i2c2 { 91 status = "okay"; 91 status = "okay"; 92 92 93 led-controller@30 { 93 led-controller@30 { 94 compatible = "kinetic,ktd2026" 94 compatible = "kinetic,ktd2026"; 95 reg = <0x30>; 95 reg = <0x30>; 96 #address-cells = <1>; 96 #address-cells = <1>; 97 #size-cells = <0>; 97 #size-cells = <0>; 98 98 99 vin-supply = <&pm8916_l17>; 99 vin-supply = <&pm8916_l17>; 100 vio-supply = <&pm8916_l6>; 100 vio-supply = <&pm8916_l6>; 101 101 102 pinctrl-0 = <&status_led_defau 102 pinctrl-0 = <&status_led_default>; 103 pinctrl-names = "default"; 103 pinctrl-names = "default"; 104 104 105 multi-led { 105 multi-led { 106 color = <LED_COLOR_ID_ 106 color = <LED_COLOR_ID_RGB>; 107 function = LED_FUNCTIO 107 function = LED_FUNCTION_STATUS; 108 108 109 #address-cells = <1>; 109 #address-cells = <1>; 110 #size-cells = <0>; 110 #size-cells = <0>; 111 111 112 led@0 { 112 led@0 { 113 reg = <0>; 113 reg = <0>; 114 color = <LED_C 114 color = <LED_COLOR_ID_RED>; 115 }; 115 }; 116 116 117 led@1 { 117 led@1 { 118 reg = <1>; 118 reg = <1>; 119 color = <LED_C 119 color = <LED_COLOR_ID_GREEN>; 120 }; 120 }; 121 121 122 led@2 { 122 led@2 { 123 reg = <2>; 123 reg = <2>; 124 color = <LED_C 124 color = <LED_COLOR_ID_BLUE>; 125 }; 125 }; 126 }; 126 }; 127 }; 127 }; 128 << 129 flash-led-controller@53 { << 130 compatible = "silergy,sy7802"; << 131 reg = <0x53>; << 132 << 133 enable-gpios = <&tlmm 16 GPIO_ << 134 << 135 pinctrl-0 = <&camera_rear_flas << 136 pinctrl-names = "default"; << 137 << 138 #address-cells = <1>; << 139 #size-cells = <0>; << 140 << 141 led@0 { << 142 reg = <0>; << 143 function = LED_FUNCTIO << 144 color = <LED_COLOR_ID_ << 145 led-sources = <0>, <1> << 146 }; << 147 }; << 148 }; 128 }; 149 129 150 &blsp_i2c3 { 130 &blsp_i2c3 { 151 status = "okay"; 131 status = "okay"; 152 132 153 magnetometer@d { 133 magnetometer@d { 154 compatible = "asahi-kasei,ak09 134 compatible = "asahi-kasei,ak09911"; 155 reg = <0x0d>; 135 reg = <0x0d>; 156 136 157 vdd-supply = <&pm8916_l17>; 137 vdd-supply = <&pm8916_l17>; 158 vid-supply = <&pm8916_l6>; 138 vid-supply = <&pm8916_l6>; 159 139 160 reset-gpios = <&tlmm 111 GPIO_ 140 reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>; 161 141 162 pinctrl-names = "default"; 142 pinctrl-names = "default"; 163 pinctrl-0 = <&mag_reset_defaul 143 pinctrl-0 = <&mag_reset_default>; 164 }; 144 }; 165 145 166 imu@68 { 146 imu@68 { 167 compatible = "bosch,bmi160"; 147 compatible = "bosch,bmi160"; 168 reg = <0x68>; 148 reg = <0x68>; 169 149 170 vdd-supply = <&pm8916_l17>; 150 vdd-supply = <&pm8916_l17>; 171 vddio-supply = <&pm8916_l6>; 151 vddio-supply = <&pm8916_l6>; 172 152 173 mount-matrix = "0", "1", "0", 153 mount-matrix = "0", "1", "0", 174 "-1", "0", "0", 154 "-1", "0", "0", 175 "0", "0", "1"; 155 "0", "0", "1"; 176 }; 156 }; 177 }; 157 }; 178 158 179 &blsp_uart2 { 159 &blsp_uart2 { 180 status = "okay"; 160 status = "okay"; 181 }; 161 }; 182 162 183 &mpss_mem { 163 &mpss_mem { 184 reg = <0x0 0x86800000 0x0 0x5000000>; 164 reg = <0x0 0x86800000 0x0 0x5000000>; 185 }; 165 }; 186 166 187 &pm8916_codec { 167 &pm8916_codec { 188 qcom,micbias-lvl = <2800>; 168 qcom,micbias-lvl = <2800>; 189 qcom,mbhc-vthreshold-low = <75 100 120 169 qcom,mbhc-vthreshold-low = <75 100 120 180 500>; 190 qcom,mbhc-vthreshold-high = <75 100 12 170 qcom,mbhc-vthreshold-high = <75 100 120 180 500>; 191 qcom,hphl-jack-type-normally-open; 171 qcom,hphl-jack-type-normally-open; 192 }; 172 }; 193 173 194 &pm8916_gpios { 174 &pm8916_gpios { 195 status_led_default: status-led-default 175 status_led_default: status-led-default-state { 196 pins = "gpio3"; 176 pins = "gpio3"; 197 function = PMIC_GPIO_FUNC_NORM 177 function = PMIC_GPIO_FUNC_NORMAL; 198 power-source = <PM8916_GPIO_VP 178 power-source = <PM8916_GPIO_VPH>; 199 bias-disable; 179 bias-disable; 200 output-high; 180 output-high; 201 }; 181 }; 202 }; 182 }; 203 183 204 &pm8916_resin { 184 &pm8916_resin { 205 status = "okay"; 185 status = "okay"; 206 linux,code = <KEY_VOLUMEDOWN>; 186 linux,code = <KEY_VOLUMEDOWN>; 207 }; 187 }; 208 188 209 &pm8916_rpm_regulators { 189 &pm8916_rpm_regulators { 210 pm8916_l17: l17 { 190 pm8916_l17: l17 { 211 regulator-min-microvolt = <285 191 regulator-min-microvolt = <2850000>; 212 regulator-max-microvolt = <285 192 regulator-max-microvolt = <2850000>; 213 }; 193 }; 214 }; 194 }; 215 195 216 &pm8916_vib { 196 &pm8916_vib { 217 status = "okay"; 197 status = "okay"; 218 }; 198 }; 219 199 220 &sdhc_1 { 200 &sdhc_1 { 221 status = "okay"; 201 status = "okay"; 222 }; 202 }; 223 203 224 &sdhc_2 { 204 &sdhc_2 { 225 status = "okay"; 205 status = "okay"; 226 206 227 pinctrl-names = "default", "sleep"; 207 pinctrl-names = "default", "sleep"; 228 pinctrl-0 = <&sdc2_default &sdc2_cd_de 208 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 229 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 209 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 230 210 231 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 211 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 232 }; 212 }; 233 213 234 &sound { 214 &sound { 235 /* 215 /* 236 * Provide widgets/pin-switches to all 216 * Provide widgets/pin-switches to allow enabling speaker separately. 237 * The hardware does not provide a way 217 * The hardware does not provide a way to disable the output via the 238 * headphone jack when the speaker is 218 * headphone jack when the speaker is enabled. 239 */ 219 */ 240 model = "bq-paella"; 220 model = "bq-paella"; 241 widgets = 221 widgets = 242 "Speaker", "Speaker", 222 "Speaker", "Speaker", 243 "Headphone", "Headphones"; 223 "Headphone", "Headphones"; 244 pin-switches = "Speaker"; 224 pin-switches = "Speaker"; 245 audio-routing = 225 audio-routing = 246 "Speaker", "Speaker Amp OUT", 226 "Speaker", "Speaker Amp OUT", 247 "Speaker Amp IN", "HPH_R", 227 "Speaker Amp IN", "HPH_R", 248 "Headphones", "HPH_L", 228 "Headphones", "HPH_L", 249 "Headphones", "HPH_R", 229 "Headphones", "HPH_R", 250 "AMIC1", "MIC BIAS External1", 230 "AMIC1", "MIC BIAS External1", 251 "AMIC2", "MIC BIAS Internal2", 231 "AMIC2", "MIC BIAS Internal2", 252 "AMIC3", "MIC BIAS External1"; 232 "AMIC3", "MIC BIAS External1"; 253 aux-devs = <&speaker_amp>; 233 aux-devs = <&speaker_amp>; 254 }; 234 }; 255 235 256 &usb { 236 &usb { 257 status = "okay"; 237 status = "okay"; 258 extcon = <&usb_id>, <&usb_id>; 238 extcon = <&usb_id>, <&usb_id>; 259 }; 239 }; 260 240 261 &usb_hs_phy { 241 &usb_hs_phy { 262 extcon = <&usb_id>; 242 extcon = <&usb_id>; 263 }; 243 }; 264 244 265 &venus { 245 &venus { 266 status = "okay"; 246 status = "okay"; 267 }; 247 }; 268 248 269 &venus_mem { 249 &venus_mem { 270 status = "okay"; 250 status = "okay"; 271 }; 251 }; 272 252 273 &wcnss { 253 &wcnss { 274 status = "okay"; 254 status = "okay"; 275 }; 255 }; 276 256 277 &wcnss_iris { 257 &wcnss_iris { 278 compatible = "qcom,wcn3620"; 258 compatible = "qcom,wcn3620"; 279 }; 259 }; 280 260 281 &wcnss_mem { 261 &wcnss_mem { 282 status = "okay"; 262 status = "okay"; 283 }; 263 }; 284 264 285 &tlmm { 265 &tlmm { 286 button_backlight_default: button-backl 266 button_backlight_default: button-backlight-default-state { 287 pins = "gpio17"; 267 pins = "gpio17"; 288 function = "gpio"; 268 function = "gpio"; 289 269 290 drive-strength = <2>; 270 drive-strength = <2>; 291 bias-disable; 271 bias-disable; 292 }; 272 }; 293 273 294 camera_front_flash_default: camera-fro 274 camera_front_flash_default: camera-front-flash-default-state { 295 pins = "gpio49", "gpio119"; 275 pins = "gpio49", "gpio119"; 296 function = "gpio"; << 297 drive-strength = <2>; << 298 bias-disable; << 299 }; << 300 << 301 camera_rear_flash_default: camera-rear << 302 pins = "gpio9", "gpio16", "gpi << 303 function = "gpio"; 276 function = "gpio"; 304 drive-strength = <2>; 277 drive-strength = <2>; 305 bias-disable; 278 bias-disable; 306 }; 279 }; 307 280 308 gpio_keys_default: gpio-keys-default-s 281 gpio_keys_default: gpio-keys-default-state { 309 pins = "gpio107"; 282 pins = "gpio107"; 310 function = "gpio"; 283 function = "gpio"; 311 284 312 drive-strength = <2>; 285 drive-strength = <2>; 313 bias-pull-up; 286 bias-pull-up; 314 }; 287 }; 315 288 316 mag_reset_default: mag-reset-default-s 289 mag_reset_default: mag-reset-default-state { 317 pins = "gpio111"; 290 pins = "gpio111"; 318 function = "gpio"; 291 function = "gpio"; 319 292 320 drive-strength = <2>; 293 drive-strength = <2>; 321 bias-disable; 294 bias-disable; 322 }; 295 }; 323 296 324 sdc2_cd_default: sdc2-cd-default-state 297 sdc2_cd_default: sdc2-cd-default-state { 325 pins = "gpio38"; 298 pins = "gpio38"; 326 function = "gpio"; 299 function = "gpio"; 327 drive-strength = <2>; 300 drive-strength = <2>; 328 bias-disable; 301 bias-disable; 329 }; 302 }; 330 303 331 spk_ext_pa_default: spk-ext-pa-default 304 spk_ext_pa_default: spk-ext-pa-default-state { 332 pins = "gpio114"; 305 pins = "gpio114"; 333 function = "gpio"; 306 function = "gpio"; 334 drive-strength = <2>; 307 drive-strength = <2>; 335 bias-disable; 308 bias-disable; 336 }; 309 }; 337 310 338 usb_id_default: usb-id-default-state { 311 usb_id_default: usb-id-default-state { 339 pins = "gpio110"; 312 pins = "gpio110"; 340 function = "gpio"; 313 function = "gpio"; 341 314 342 drive-strength = <8>; 315 drive-strength = <8>; 343 bias-pull-up; 316 bias-pull-up; 344 }; 317 }; 345 }; 318 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.