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 128 129 flash-led-controller@53 { 129 flash-led-controller@53 { 130 compatible = "silergy,sy7802"; 130 compatible = "silergy,sy7802"; 131 reg = <0x53>; 131 reg = <0x53>; 132 132 133 enable-gpios = <&tlmm 16 GPIO_ 133 enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; 134 134 135 pinctrl-0 = <&camera_rear_flas 135 pinctrl-0 = <&camera_rear_flash_default>; 136 pinctrl-names = "default"; 136 pinctrl-names = "default"; 137 137 138 #address-cells = <1>; 138 #address-cells = <1>; 139 #size-cells = <0>; 139 #size-cells = <0>; 140 140 141 led@0 { 141 led@0 { 142 reg = <0>; 142 reg = <0>; 143 function = LED_FUNCTIO 143 function = LED_FUNCTION_FLASH; 144 color = <LED_COLOR_ID_ 144 color = <LED_COLOR_ID_WHITE>; 145 led-sources = <0>, <1> 145 led-sources = <0>, <1>; 146 }; 146 }; 147 }; 147 }; 148 }; 148 }; 149 149 150 &blsp_i2c3 { 150 &blsp_i2c3 { 151 status = "okay"; 151 status = "okay"; 152 152 153 magnetometer@d { 153 magnetometer@d { 154 compatible = "asahi-kasei,ak09 154 compatible = "asahi-kasei,ak09911"; 155 reg = <0x0d>; 155 reg = <0x0d>; 156 156 157 vdd-supply = <&pm8916_l17>; 157 vdd-supply = <&pm8916_l17>; 158 vid-supply = <&pm8916_l6>; 158 vid-supply = <&pm8916_l6>; 159 159 160 reset-gpios = <&tlmm 111 GPIO_ 160 reset-gpios = <&tlmm 111 GPIO_ACTIVE_LOW>; 161 161 162 pinctrl-names = "default"; 162 pinctrl-names = "default"; 163 pinctrl-0 = <&mag_reset_defaul 163 pinctrl-0 = <&mag_reset_default>; 164 }; 164 }; 165 165 166 imu@68 { 166 imu@68 { 167 compatible = "bosch,bmi160"; 167 compatible = "bosch,bmi160"; 168 reg = <0x68>; 168 reg = <0x68>; 169 169 170 vdd-supply = <&pm8916_l17>; 170 vdd-supply = <&pm8916_l17>; 171 vddio-supply = <&pm8916_l6>; 171 vddio-supply = <&pm8916_l6>; 172 172 173 mount-matrix = "0", "1", "0", 173 mount-matrix = "0", "1", "0", 174 "-1", "0", "0", 174 "-1", "0", "0", 175 "0", "0", "1"; 175 "0", "0", "1"; 176 }; 176 }; 177 }; 177 }; 178 178 179 &blsp_uart2 { 179 &blsp_uart2 { 180 status = "okay"; 180 status = "okay"; 181 }; 181 }; 182 182 183 &mpss_mem { 183 &mpss_mem { 184 reg = <0x0 0x86800000 0x0 0x5000000>; 184 reg = <0x0 0x86800000 0x0 0x5000000>; 185 }; 185 }; 186 186 187 &pm8916_codec { 187 &pm8916_codec { 188 qcom,micbias-lvl = <2800>; 188 qcom,micbias-lvl = <2800>; 189 qcom,mbhc-vthreshold-low = <75 100 120 189 qcom,mbhc-vthreshold-low = <75 100 120 180 500>; 190 qcom,mbhc-vthreshold-high = <75 100 12 190 qcom,mbhc-vthreshold-high = <75 100 120 180 500>; 191 qcom,hphl-jack-type-normally-open; 191 qcom,hphl-jack-type-normally-open; 192 }; 192 }; 193 193 194 &pm8916_gpios { 194 &pm8916_gpios { 195 status_led_default: status-led-default 195 status_led_default: status-led-default-state { 196 pins = "gpio3"; 196 pins = "gpio3"; 197 function = PMIC_GPIO_FUNC_NORM 197 function = PMIC_GPIO_FUNC_NORMAL; 198 power-source = <PM8916_GPIO_VP 198 power-source = <PM8916_GPIO_VPH>; 199 bias-disable; 199 bias-disable; 200 output-high; 200 output-high; 201 }; 201 }; 202 }; 202 }; 203 203 204 &pm8916_resin { 204 &pm8916_resin { 205 status = "okay"; 205 status = "okay"; 206 linux,code = <KEY_VOLUMEDOWN>; 206 linux,code = <KEY_VOLUMEDOWN>; 207 }; 207 }; 208 208 209 &pm8916_rpm_regulators { 209 &pm8916_rpm_regulators { 210 pm8916_l17: l17 { 210 pm8916_l17: l17 { 211 regulator-min-microvolt = <285 211 regulator-min-microvolt = <2850000>; 212 regulator-max-microvolt = <285 212 regulator-max-microvolt = <2850000>; 213 }; 213 }; 214 }; 214 }; 215 215 216 &pm8916_vib { 216 &pm8916_vib { 217 status = "okay"; 217 status = "okay"; 218 }; 218 }; 219 219 220 &sdhc_1 { 220 &sdhc_1 { 221 status = "okay"; 221 status = "okay"; 222 }; 222 }; 223 223 224 &sdhc_2 { 224 &sdhc_2 { 225 status = "okay"; 225 status = "okay"; 226 226 227 pinctrl-names = "default", "sleep"; 227 pinctrl-names = "default", "sleep"; 228 pinctrl-0 = <&sdc2_default &sdc2_cd_de 228 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 229 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 229 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 230 230 231 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 231 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 232 }; 232 }; 233 233 234 &sound { 234 &sound { 235 /* 235 /* 236 * Provide widgets/pin-switches to all 236 * Provide widgets/pin-switches to allow enabling speaker separately. 237 * The hardware does not provide a way 237 * The hardware does not provide a way to disable the output via the 238 * headphone jack when the speaker is 238 * headphone jack when the speaker is enabled. 239 */ 239 */ 240 model = "bq-paella"; 240 model = "bq-paella"; 241 widgets = 241 widgets = 242 "Speaker", "Speaker", 242 "Speaker", "Speaker", 243 "Headphone", "Headphones"; 243 "Headphone", "Headphones"; 244 pin-switches = "Speaker"; 244 pin-switches = "Speaker"; 245 audio-routing = 245 audio-routing = 246 "Speaker", "Speaker Amp OUT", 246 "Speaker", "Speaker Amp OUT", 247 "Speaker Amp IN", "HPH_R", 247 "Speaker Amp IN", "HPH_R", 248 "Headphones", "HPH_L", 248 "Headphones", "HPH_L", 249 "Headphones", "HPH_R", 249 "Headphones", "HPH_R", 250 "AMIC1", "MIC BIAS External1", 250 "AMIC1", "MIC BIAS External1", 251 "AMIC2", "MIC BIAS Internal2", 251 "AMIC2", "MIC BIAS Internal2", 252 "AMIC3", "MIC BIAS External1"; 252 "AMIC3", "MIC BIAS External1"; 253 aux-devs = <&speaker_amp>; 253 aux-devs = <&speaker_amp>; 254 }; 254 }; 255 255 256 &usb { 256 &usb { 257 status = "okay"; 257 status = "okay"; 258 extcon = <&usb_id>, <&usb_id>; 258 extcon = <&usb_id>, <&usb_id>; 259 }; 259 }; 260 260 261 &usb_hs_phy { 261 &usb_hs_phy { 262 extcon = <&usb_id>; 262 extcon = <&usb_id>; 263 }; 263 }; 264 264 265 &venus { 265 &venus { 266 status = "okay"; 266 status = "okay"; 267 }; 267 }; 268 268 269 &venus_mem { 269 &venus_mem { 270 status = "okay"; 270 status = "okay"; 271 }; 271 }; 272 272 273 &wcnss { 273 &wcnss { 274 status = "okay"; 274 status = "okay"; 275 }; 275 }; 276 276 277 &wcnss_iris { 277 &wcnss_iris { 278 compatible = "qcom,wcn3620"; 278 compatible = "qcom,wcn3620"; 279 }; 279 }; 280 280 281 &wcnss_mem { 281 &wcnss_mem { 282 status = "okay"; 282 status = "okay"; 283 }; 283 }; 284 284 285 &tlmm { 285 &tlmm { 286 button_backlight_default: button-backl 286 button_backlight_default: button-backlight-default-state { 287 pins = "gpio17"; 287 pins = "gpio17"; 288 function = "gpio"; 288 function = "gpio"; 289 289 290 drive-strength = <2>; 290 drive-strength = <2>; 291 bias-disable; 291 bias-disable; 292 }; 292 }; 293 293 294 camera_front_flash_default: camera-fro 294 camera_front_flash_default: camera-front-flash-default-state { 295 pins = "gpio49", "gpio119"; 295 pins = "gpio49", "gpio119"; 296 function = "gpio"; 296 function = "gpio"; 297 drive-strength = <2>; 297 drive-strength = <2>; 298 bias-disable; 298 bias-disable; 299 }; 299 }; 300 300 301 camera_rear_flash_default: camera-rear 301 camera_rear_flash_default: camera-rear-flash-default-state { 302 pins = "gpio9", "gpio16", "gpi 302 pins = "gpio9", "gpio16", "gpio117"; 303 function = "gpio"; 303 function = "gpio"; 304 drive-strength = <2>; 304 drive-strength = <2>; 305 bias-disable; 305 bias-disable; 306 }; 306 }; 307 307 308 gpio_keys_default: gpio-keys-default-s 308 gpio_keys_default: gpio-keys-default-state { 309 pins = "gpio107"; 309 pins = "gpio107"; 310 function = "gpio"; 310 function = "gpio"; 311 311 312 drive-strength = <2>; 312 drive-strength = <2>; 313 bias-pull-up; 313 bias-pull-up; 314 }; 314 }; 315 315 316 mag_reset_default: mag-reset-default-s 316 mag_reset_default: mag-reset-default-state { 317 pins = "gpio111"; 317 pins = "gpio111"; 318 function = "gpio"; 318 function = "gpio"; 319 319 320 drive-strength = <2>; 320 drive-strength = <2>; 321 bias-disable; 321 bias-disable; 322 }; 322 }; 323 323 324 sdc2_cd_default: sdc2-cd-default-state 324 sdc2_cd_default: sdc2-cd-default-state { 325 pins = "gpio38"; 325 pins = "gpio38"; 326 function = "gpio"; 326 function = "gpio"; 327 drive-strength = <2>; 327 drive-strength = <2>; 328 bias-disable; 328 bias-disable; 329 }; 329 }; 330 330 331 spk_ext_pa_default: spk-ext-pa-default 331 spk_ext_pa_default: spk-ext-pa-default-state { 332 pins = "gpio114"; 332 pins = "gpio114"; 333 function = "gpio"; 333 function = "gpio"; 334 drive-strength = <2>; 334 drive-strength = <2>; 335 bias-disable; 335 bias-disable; 336 }; 336 }; 337 337 338 usb_id_default: usb-id-default-state { 338 usb_id_default: usb-id-default-state { 339 pins = "gpio110"; 339 pins = "gpio110"; 340 function = "gpio"; 340 function = "gpio"; 341 341 342 drive-strength = <8>; 342 drive-strength = <8>; 343 bias-pull-up; 343 bias-pull-up; 344 }; 344 }; 345 }; 345 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.