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 "msm8939-pm8916.dtsi" 5 #include "msm8939-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/interrupt-controller/irq 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/sound/apq8016-lpass.h> 11 #include <dt-bindings/sound/apq8016-lpass.h> 12 12 13 / { 13 / { 14 model = "Samsung Galaxy A7 (2015)"; 14 model = "Samsung Galaxy A7 (2015)"; 15 compatible = "samsung,a7", "qcom,msm89 15 compatible = "samsung,a7", "qcom,msm8939"; 16 chassis-type = "handset"; 16 chassis-type = "handset"; 17 17 18 aliases { 18 aliases { 19 mmc0 = &sdhc_1; /* SDC1 eMMC s 19 mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 20 mmc1 = &sdhc_2; /* SDC2 SD car 20 mmc1 = &sdhc_2; /* SDC2 SD card slot */ 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 reserved-memory { 28 reserved-memory { 29 /* Additional memory used by S 29 /* Additional memory used by Samsung firmware modifications */ 30 tz-apps@85500000 { 30 tz-apps@85500000 { 31 reg = <0x0 0x85500000 31 reg = <0x0 0x85500000 0x0 0xb00000>; 32 no-map; 32 no-map; 33 }; 33 }; 34 }; 34 }; 35 35 36 battery: battery { << 37 compatible = "simple-battery"; << 38 charge-term-current-microamp = << 39 constant-charge-current-max-mi << 40 constant-charge-voltage-max-mi << 41 precharge-current-microamp = < << 42 precharge-upper-limit-microvol << 43 }; << 44 << 45 gpio-hall-sensor { 36 gpio-hall-sensor { 46 compatible = "gpio-keys"; 37 compatible = "gpio-keys"; 47 38 48 pinctrl-0 = <&gpio_hall_sensor 39 pinctrl-0 = <&gpio_hall_sensor_default>; 49 pinctrl-names = "default"; 40 pinctrl-names = "default"; 50 41 51 label = "GPIO Hall Effect Sens 42 label = "GPIO Hall Effect Sensor"; 52 43 53 event-hall-sensor { 44 event-hall-sensor { 54 label = "Hall Effect S 45 label = "Hall Effect Sensor"; 55 gpios = <&tlmm 52 GPIO 46 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>; 56 linux,input-type = <EV 47 linux,input-type = <EV_SW>; 57 linux,code = <SW_LID>; 48 linux,code = <SW_LID>; 58 linux,can-disable; 49 linux,can-disable; 59 }; 50 }; 60 }; 51 }; 61 52 62 gpio-keys { 53 gpio-keys { 63 compatible = "gpio-keys"; 54 compatible = "gpio-keys"; 64 55 65 pinctrl-0 = <&gpio_keys_defaul 56 pinctrl-0 = <&gpio_keys_default>; 66 pinctrl-names = "default"; 57 pinctrl-names = "default"; 67 58 68 label = "GPIO Buttons"; 59 label = "GPIO Buttons"; 69 60 70 button-volume-up { 61 button-volume-up { 71 label = "Volume Up"; 62 label = "Volume Up"; 72 gpios = <&tlmm 107 GPI 63 gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 73 linux,code = <KEY_VOLU 64 linux,code = <KEY_VOLUMEUP>; 74 }; 65 }; 75 66 76 button-home { 67 button-home { 77 label = "Home"; 68 label = "Home"; 78 gpios = <&tlmm 109 GPI 69 gpios = <&tlmm 109 GPIO_ACTIVE_LOW>; 79 linux,code = <KEY_HOME 70 linux,code = <KEY_HOMEPAGE>; 80 }; 71 }; 81 }; 72 }; 82 73 83 i2c-fg { 74 i2c-fg { 84 compatible = "i2c-gpio"; 75 compatible = "i2c-gpio"; 85 sda-gpios = <&tlmm 106 (GPIO_A 76 sda-gpios = <&tlmm 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 86 scl-gpios = <&tlmm 105 (GPIO_A 77 scl-gpios = <&tlmm 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 87 78 88 pinctrl-0 = <&fg_i2c_default>; 79 pinctrl-0 = <&fg_i2c_default>; 89 pinctrl-names = "default"; 80 pinctrl-names = "default"; 90 81 91 #address-cells = <1>; 82 #address-cells = <1>; 92 #size-cells = <0>; 83 #size-cells = <0>; 93 84 94 fuel-gauge@35 { !! 85 battery@35 { 95 compatible = "richtek, 86 compatible = "richtek,rt5033-battery"; 96 reg = <0x35>; 87 reg = <0x35>; 97 88 98 interrupt-parent = <&t 89 interrupt-parent = <&tlmm>; 99 interrupts = <121 IRQ_ 90 interrupts = <121 IRQ_TYPE_EDGE_BOTH>; 100 91 101 pinctrl-0 = <&fg_alert 92 pinctrl-0 = <&fg_alert_default>; 102 pinctrl-names = "defau 93 pinctrl-names = "default"; 103 << 104 power-supplies = <&cha << 105 }; 94 }; 106 }; 95 }; 107 96 108 i2c-nfc { 97 i2c-nfc { 109 compatible = "i2c-gpio"; 98 compatible = "i2c-gpio"; 110 sda-gpios = <&tlmm 0 (GPIO_ACT 99 sda-gpios = <&tlmm 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 111 scl-gpios = <&tlmm 1 (GPIO_ACT 100 scl-gpios = <&tlmm 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 112 101 113 pinctrl-0 = <&nfc_i2c_default> 102 pinctrl-0 = <&nfc_i2c_default>; 114 pinctrl-names = "default"; 103 pinctrl-names = "default"; 115 104 116 #address-cells = <1>; 105 #address-cells = <1>; 117 #size-cells = <0>; 106 #size-cells = <0>; 118 107 119 nfc@2b { 108 nfc@2b { 120 compatible = "nxp,pn54 109 compatible = "nxp,pn547", "nxp,nxp-nci-i2c"; 121 reg = <0x2b>; 110 reg = <0x2b>; 122 111 123 interrupt-parent = <&t 112 interrupt-parent = <&tlmm>; 124 interrupts = <21 IRQ_T 113 interrupts = <21 IRQ_TYPE_EDGE_RISING>; 125 114 126 enable-gpios = <&tlmm 115 enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; 127 firmware-gpios = <&tlm 116 firmware-gpios = <&tlmm 49 GPIO_ACTIVE_HIGH>; 128 117 129 pinctrl-0 = <&nfc_defa 118 pinctrl-0 = <&nfc_default>; 130 pinctrl-names = "defau 119 pinctrl-names = "default"; 131 }; 120 }; 132 }; 121 }; 133 122 134 i2c-sensor { 123 i2c-sensor { 135 compatible = "i2c-gpio"; 124 compatible = "i2c-gpio"; 136 sda-gpios = <&tlmm 84 (GPIO_AC 125 sda-gpios = <&tlmm 84 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 137 scl-gpios = <&tlmm 85 (GPIO_AC 126 scl-gpios = <&tlmm 85 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 138 127 139 pinctrl-0 = <&sensor_i2c_defau 128 pinctrl-0 = <&sensor_i2c_default>; 140 pinctrl-names = "default"; 129 pinctrl-names = "default"; 141 130 142 #address-cells = <1>; 131 #address-cells = <1>; 143 #size-cells = <0>; 132 #size-cells = <0>; 144 133 145 accelerometer: accelerometer@1 134 accelerometer: accelerometer@10 { 146 compatible = "bosch,bm 135 compatible = "bosch,bmc150_accel"; 147 reg = <0x10>; 136 reg = <0x10>; 148 interrupt-parent = <&t 137 interrupt-parent = <&tlmm>; 149 interrupts = <115 IRQ_ 138 interrupts = <115 IRQ_TYPE_EDGE_RISING>; 150 139 151 vdd-supply = <&pm8916_ 140 vdd-supply = <&pm8916_l17>; 152 vddio-supply = <&pm891 141 vddio-supply = <&pm8916_l5>; 153 142 154 pinctrl-0 = <&accel_in 143 pinctrl-0 = <&accel_int_default>; 155 pinctrl-names = "defau 144 pinctrl-names = "default"; 156 145 157 mount-matrix = "-1", " 146 mount-matrix = "-1", "0", "0", 158 "0", " 147 "0", "-1", "0", 159 "0", " 148 "0", "0", "1"; 160 }; 149 }; 161 150 162 magnetometer@12 { 151 magnetometer@12 { 163 compatible = "bosch,bm 152 compatible = "bosch,bmc150_magn"; 164 reg = <0x12>; 153 reg = <0x12>; 165 154 166 vdd-supply = <&pm8916_ 155 vdd-supply = <&pm8916_l17>; 167 vddio-supply = <&pm891 156 vddio-supply = <&pm8916_l5>; 168 }; 157 }; 169 }; 158 }; 170 159 171 i2c-tkey { 160 i2c-tkey { 172 compatible = "i2c-gpio"; 161 compatible = "i2c-gpio"; 173 sda-gpios = <&tlmm 16 (GPIO_AC 162 sda-gpios = <&tlmm 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 174 scl-gpios = <&tlmm 17 (GPIO_AC 163 scl-gpios = <&tlmm 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 175 164 176 pinctrl-0 = <&tkey_i2c_default 165 pinctrl-0 = <&tkey_i2c_default>; 177 pinctrl-names = "default"; 166 pinctrl-names = "default"; 178 167 179 #address-cells = <1>; 168 #address-cells = <1>; 180 #size-cells = <0>; 169 #size-cells = <0>; 181 170 182 touchkey@20 { 171 touchkey@20 { 183 /* Note: Actually an A 172 /* Note: Actually an ABOV MCU that implements same interface */ 184 compatible = "corerive 173 compatible = "coreriver,tc360-touchkey"; 185 reg = <0x20>; 174 reg = <0x20>; 186 175 187 interrupt-parent = <&t 176 interrupt-parent = <&tlmm>; 188 interrupts = <20 IRQ_T 177 interrupts = <20 IRQ_TYPE_EDGE_FALLING>; 189 178 190 vcc-supply = <®_tou 179 vcc-supply = <®_touch_key>; 191 vdd-supply = <®_key 180 vdd-supply = <®_keyled>; 192 vddio-supply = <&pm891 181 vddio-supply = <&pm8916_l6>; 193 182 194 linux,keycodes = <KEY_ 183 linux,keycodes = <KEY_APPSELECT KEY_BACK>; 195 184 196 pinctrl-0 = <&tkey_def 185 pinctrl-0 = <&tkey_default>; 197 pinctrl-names = "defau 186 pinctrl-names = "default"; 198 }; 187 }; 199 }; 188 }; 200 189 201 pwm_vibrator: pwm { !! 190 pwm_vibrator: pwm-vibrator { 202 compatible = "clk-pwm"; 191 compatible = "clk-pwm"; 203 #pwm-cells = <2>; 192 #pwm-cells = <2>; 204 193 205 clocks = <&gcc GCC_GP2_CLK>; 194 clocks = <&gcc GCC_GP2_CLK>; 206 195 207 pinctrl-0 = <&motor_pwm_defaul 196 pinctrl-0 = <&motor_pwm_default>; 208 pinctrl-names = "default"; 197 pinctrl-names = "default"; 209 }; 198 }; 210 199 211 reg_keyled: regulator-keyled { 200 reg_keyled: regulator-keyled { 212 compatible = "regulator-fixed" 201 compatible = "regulator-fixed"; 213 regulator-name = "keyled"; 202 regulator-name = "keyled"; 214 regulator-min-microvolt = <330 203 regulator-min-microvolt = <3300000>; 215 regulator-max-microvolt = <330 204 regulator-max-microvolt = <3300000>; 216 205 217 /* NOTE: On some variants e.g. 206 /* NOTE: On some variants e.g. SM-A700FD it's GPIO 91 */ 218 gpio = <&tlmm 100 GPIO_ACTIVE_ 207 gpio = <&tlmm 100 GPIO_ACTIVE_HIGH>; 219 enable-active-high; 208 enable-active-high; 220 209 221 pinctrl-0 = <&tkey_led_en_defa 210 pinctrl-0 = <&tkey_led_en_default>; 222 pinctrl-names = "default"; 211 pinctrl-names = "default"; 223 }; 212 }; 224 213 225 reg_touch_key: regulator-touch-key { 214 reg_touch_key: regulator-touch-key { 226 compatible = "regulator-fixed" 215 compatible = "regulator-fixed"; 227 regulator-name = "touch_key"; 216 regulator-name = "touch_key"; 228 regulator-min-microvolt = <280 217 regulator-min-microvolt = <2800000>; 229 regulator-max-microvolt = <280 218 regulator-max-microvolt = <2800000>; 230 219 231 gpio = <&tlmm 56 GPIO_ACTIVE_H 220 gpio = <&tlmm 56 GPIO_ACTIVE_HIGH>; 232 enable-active-high; 221 enable-active-high; 233 222 234 pinctrl-0 = <&tkey_en_default> 223 pinctrl-0 = <&tkey_en_default>; 235 pinctrl-names = "default"; 224 pinctrl-names = "default"; 236 }; 225 }; 237 226 238 reg_tsp_vdd: regulator-tsp-vdd { 227 reg_tsp_vdd: regulator-tsp-vdd { 239 compatible = "regulator-fixed" 228 compatible = "regulator-fixed"; 240 regulator-name = "tsp_vdd"; 229 regulator-name = "tsp_vdd"; 241 regulator-min-microvolt = <180 230 regulator-min-microvolt = <1800000>; 242 regulator-max-microvolt = <180 231 regulator-max-microvolt = <1800000>; 243 vin-supply = <&pm8916_s4>; 232 vin-supply = <&pm8916_s4>; 244 233 245 gpio = <&tlmm 8 GPIO_ACTIVE_HI 234 gpio = <&tlmm 8 GPIO_ACTIVE_HIGH>; 246 enable-active-high; 235 enable-active-high; 247 236 248 pinctrl-0 = <®_tsp_io_en_de 237 pinctrl-0 = <®_tsp_io_en_default>; 249 pinctrl-names = "default"; 238 pinctrl-names = "default"; 250 }; 239 }; 251 240 252 reg_vdd_tsp: regulator-vdd-tsp { 241 reg_vdd_tsp: regulator-vdd-tsp { 253 compatible = "regulator-fixed" 242 compatible = "regulator-fixed"; 254 regulator-name = "vdd_tsp"; 243 regulator-name = "vdd_tsp"; 255 regulator-min-microvolt = <330 244 regulator-min-microvolt = <3300000>; 256 regulator-max-microvolt = <330 245 regulator-max-microvolt = <3300000>; 257 246 258 gpio = <&tlmm 73 GPIO_ACTIVE_H 247 gpio = <&tlmm 73 GPIO_ACTIVE_HIGH>; 259 enable-active-high; 248 enable-active-high; 260 249 261 pinctrl-0 = <®_tsp_en_defau 250 pinctrl-0 = <®_tsp_en_default>; 262 pinctrl-names = "default"; 251 pinctrl-names = "default"; 263 }; 252 }; 264 253 265 reg_vibrator: regulator-vibrator { 254 reg_vibrator: regulator-vibrator { 266 compatible = "regulator-fixed" 255 compatible = "regulator-fixed"; 267 regulator-name = "motor_en"; 256 regulator-name = "motor_en"; 268 regulator-min-microvolt = <300 257 regulator-min-microvolt = <3000000>; 269 regulator-max-microvolt = <300 258 regulator-max-microvolt = <3000000>; 270 259 271 gpio = <&tlmm 86 GPIO_ACTIVE_H 260 gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>; 272 enable-active-high; 261 enable-active-high; 273 262 274 pinctrl-0 = <&motor_en_default 263 pinctrl-0 = <&motor_en_default>; 275 pinctrl-names = "default"; 264 pinctrl-names = "default"; 276 }; 265 }; 277 266 278 vibrator { 267 vibrator { 279 compatible = "pwm-vibrator"; 268 compatible = "pwm-vibrator"; 280 269 281 pwms = <&pwm_vibrator 0 100000 270 pwms = <&pwm_vibrator 0 100000>; 282 pwm-names = "enable"; 271 pwm-names = "enable"; 283 272 284 vcc-supply = <®_vibrator>; 273 vcc-supply = <®_vibrator>; 285 }; 274 }; 286 }; 275 }; 287 276 288 &blsp_i2c1 { 277 &blsp_i2c1 { 289 status = "okay"; 278 status = "okay"; 290 279 291 muic: extcon@25 { 280 muic: extcon@25 { 292 compatible = "siliconmitus,sm5 281 compatible = "siliconmitus,sm5502-muic"; 293 reg = <0x25>; 282 reg = <0x25>; 294 283 295 interrupt-parent = <&tlmm>; 284 interrupt-parent = <&tlmm>; 296 interrupts = <12 IRQ_TYPE_EDGE 285 interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 297 286 298 pinctrl-0 = <&muic_int_default 287 pinctrl-0 = <&muic_int_default>; 299 pinctrl-names = "default"; 288 pinctrl-names = "default"; 300 << 301 usb_con: connector { << 302 compatible = "usb-b-co << 303 label = "micro-USB"; << 304 type = "micro"; << 305 }; << 306 }; 289 }; 307 }; 290 }; 308 291 309 &blsp_i2c2 { 292 &blsp_i2c2 { 310 status = "okay"; 293 status = "okay"; 311 294 312 speaker_codec: audio-codec@34 { 295 speaker_codec: audio-codec@34 { 313 compatible = "nxp,tfa9895"; 296 compatible = "nxp,tfa9895"; 314 reg = <0x34>; 297 reg = <0x34>; 315 vddd-supply = <&pm8916_l5>; 298 vddd-supply = <&pm8916_l5>; 316 sound-name-prefix = "Speaker"; 299 sound-name-prefix = "Speaker"; 317 #sound-dai-cells = <0>; 300 #sound-dai-cells = <0>; 318 }; 301 }; 319 }; 302 }; 320 303 321 &blsp_i2c5 { 304 &blsp_i2c5 { 322 status = "okay"; 305 status = "okay"; 323 306 324 touchscreen@24 { 307 touchscreen@24 { 325 compatible = "cypress,tt21000" 308 compatible = "cypress,tt21000"; 326 309 327 reg = <0x24>; 310 reg = <0x24>; 328 interrupt-parent = <&tlmm>; 311 interrupt-parent = <&tlmm>; 329 interrupts = <13 IRQ_TYPE_EDGE 312 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 330 313 331 vdd-supply = <®_vdd_tsp>; 314 vdd-supply = <®_vdd_tsp>; 332 vddio-supply = <®_tsp_vdd>; 315 vddio-supply = <®_tsp_vdd>; 333 316 334 pinctrl-0 = <&tsp_int_default> 317 pinctrl-0 = <&tsp_int_default>; 335 pinctrl-names = "default"; 318 pinctrl-names = "default"; 336 }; 319 }; 337 }; 320 }; 338 321 339 &blsp_i2c6 { << 340 status = "okay"; << 341 << 342 pmic@34 { << 343 compatible = "richtek,rt5033"; << 344 reg = <0x34>; << 345 << 346 interrupts-extended = <&tlmm 6 << 347 << 348 pinctrl-0 = <&pmic_int_default << 349 pinctrl-names = "default"; << 350 << 351 regulators { << 352 rt5033_reg_safe_ldo: S << 353 regulator-min- << 354 regulator-max- << 355 regulator-alwa << 356 }; << 357 << 358 /* << 359 * Needed for camera, << 360 * Define empty nodes << 361 * regulators. << 362 */ << 363 LDO {}; << 364 BUCK {}; << 365 }; << 366 << 367 charger: charger { << 368 compatible = "richtek, << 369 monitored-battery = <& << 370 richtek,usb-connector << 371 }; << 372 }; << 373 }; << 374 << 375 &blsp_uart2 { 322 &blsp_uart2 { 376 status = "okay"; 323 status = "okay"; 377 }; 324 }; 378 325 379 /* 326 /* 380 * For some reason the speaker amplifier is co 327 * For some reason the speaker amplifier is connected to the second SD line 381 * (MI2S_2_D1) instead of the first (MI2S_2_D0 328 * (MI2S_2_D1) instead of the first (MI2S_2_D0). This must be configured in the 382 * device tree, otherwise audio will seemingly 329 * device tree, otherwise audio will seemingly play fine on the wrong SD line 383 * but the speaker stays silent. 330 * but the speaker stays silent. 384 * 331 * 385 * When routing audio via QDSP6 (the default) 332 * When routing audio via QDSP6 (the default) the &lpass node is reserved and 386 * the definitions from &q6afedai are used. Wh 333 * the definitions from &q6afedai are used. When the modem is disabled audio can 387 * be alternatively routed directly to the LPA 334 * be alternatively routed directly to the LPASS hardware with reduced latency. 388 * The definitions for &lpass are here for com 335 * The definitions for &lpass are here for completeness to simplify changing the 389 * setup with minor changes to the DT (either 336 * setup with minor changes to the DT (either manually or with DT overlays). 390 */ 337 */ 391 &lpass { 338 &lpass { 392 dai-link@3 { 339 dai-link@3 { 393 reg = <MI2S_QUATERNARY>; 340 reg = <MI2S_QUATERNARY>; 394 qcom,playback-sd-lines = <1>; 341 qcom,playback-sd-lines = <1>; 395 }; 342 }; 396 }; 343 }; 397 344 398 &mpss_mem { 345 &mpss_mem { 399 reg = <0x0 0x86800000 0x0 0x5800000>; 346 reg = <0x0 0x86800000 0x0 0x5800000>; 400 }; 347 }; 401 348 402 &pm8916_resin { 349 &pm8916_resin { 403 linux,code = <KEY_VOLUMEDOWN>; 350 linux,code = <KEY_VOLUMEDOWN>; 404 status = "okay"; 351 status = "okay"; 405 }; 352 }; 406 353 407 &pm8916_rpm_regulators { 354 &pm8916_rpm_regulators { 408 pm8916_l17: l17 { 355 pm8916_l17: l17 { 409 regulator-min-microvolt = <285 356 regulator-min-microvolt = <2850000>; 410 regulator-max-microvolt = <285 357 regulator-max-microvolt = <2850000>; 411 }; 358 }; 412 }; 359 }; 413 360 414 &q6afedai { 361 &q6afedai { 415 dai@22 { 362 dai@22 { 416 reg = <QUATERNARY_MI2S_RX>; 363 reg = <QUATERNARY_MI2S_RX>; 417 qcom,sd-lines = <1>; 364 qcom,sd-lines = <1>; 418 }; 365 }; 419 }; 366 }; 420 367 421 &sdhc_1 { 368 &sdhc_1 { 422 status = "okay"; 369 status = "okay"; 423 }; 370 }; 424 371 425 &sdhc_2 { 372 &sdhc_2 { 426 pinctrl-0 = <&sdc2_default &sdc2_cd_de 373 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 427 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 374 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 428 pinctrl-names = "default", "sleep"; 375 pinctrl-names = "default", "sleep"; 429 376 430 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 377 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 431 378 432 status = "okay"; 379 status = "okay"; 433 }; 380 }; 434 381 435 &sound { 382 &sound { 436 model = "samsung-a2015"; 383 model = "samsung-a2015"; 437 audio-routing = 384 audio-routing = 438 "AMIC1", "MIC BIAS External1", 385 "AMIC1", "MIC BIAS External1", 439 "AMIC2", "MIC BIAS Internal2", 386 "AMIC2", "MIC BIAS Internal2", 440 "AMIC3", "MIC BIAS External1"; 387 "AMIC3", "MIC BIAS External1"; 441 388 442 pinctrl-0 = <&cdc_pdm_default &sec_mi2 389 pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 443 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_ 390 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 444 pinctrl-names = "default", "sleep"; 391 pinctrl-names = "default", "sleep"; 445 392 446 sound_link_backend2: backend2-dai-link 393 sound_link_backend2: backend2-dai-link { 447 link-name = "Quaternary MI2S"; 394 link-name = "Quaternary MI2S"; 448 395 449 cpu { 396 cpu { 450 sound-dai = <&q6afedai 397 sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; 451 }; 398 }; 452 platform { 399 platform { 453 sound-dai = <&q6routin 400 sound-dai = <&q6routing>; 454 }; 401 }; 455 codec { 402 codec { 456 sound-dai = <&speaker_ 403 sound-dai = <&speaker_codec>; 457 }; 404 }; 458 }; 405 }; 459 }; 406 }; 460 407 461 &usb { 408 &usb { 462 extcon = <&muic>, <&muic>; 409 extcon = <&muic>, <&muic>; 463 status = "okay"; 410 status = "okay"; 464 }; 411 }; 465 412 466 &usb_hs_phy { 413 &usb_hs_phy { 467 extcon = <&muic>; 414 extcon = <&muic>; 468 }; 415 }; 469 416 470 &wcnss { 417 &wcnss { 471 status = "okay"; 418 status = "okay"; 472 }; 419 }; 473 420 474 &wcnss_iris { 421 &wcnss_iris { 475 compatible = "qcom,wcn3660b"; 422 compatible = "qcom,wcn3660b"; 476 }; 423 }; 477 424 478 &wcnss_mem { 425 &wcnss_mem { 479 status = "okay"; 426 status = "okay"; 480 }; 427 }; 481 428 482 &tlmm { 429 &tlmm { 483 accel_int_default: accel-int-default-s 430 accel_int_default: accel-int-default-state { 484 pins = "gpio115"; 431 pins = "gpio115"; 485 function = "gpio"; 432 function = "gpio"; 486 drive-strength = <2>; 433 drive-strength = <2>; 487 bias-disable; 434 bias-disable; 488 }; 435 }; 489 436 490 fg_alert_default: fg-alert-default-sta 437 fg_alert_default: fg-alert-default-state { 491 pins = "gpio121"; 438 pins = "gpio121"; 492 function = "gpio"; 439 function = "gpio"; 493 drive-strength = <2>; 440 drive-strength = <2>; 494 bias-disable; 441 bias-disable; 495 }; 442 }; 496 443 497 fg_i2c_default: fg-i2c-default-state { 444 fg_i2c_default: fg-i2c-default-state { 498 pins = "gpio105", "gpio106"; 445 pins = "gpio105", "gpio106"; 499 function = "gpio"; 446 function = "gpio"; 500 drive-strength = <2>; 447 drive-strength = <2>; 501 bias-disable; 448 bias-disable; 502 }; 449 }; 503 450 504 gpio_hall_sensor_default: gpio-hall-se 451 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 505 pins = "gpio52"; 452 pins = "gpio52"; 506 function = "gpio"; 453 function = "gpio"; 507 drive-strength = <2>; 454 drive-strength = <2>; 508 bias-disable; 455 bias-disable; 509 }; 456 }; 510 457 511 gpio_keys_default: gpio-keys-default-s 458 gpio_keys_default: gpio-keys-default-state { 512 pins = "gpio107", "gpio109"; 459 pins = "gpio107", "gpio109"; 513 function = "gpio"; 460 function = "gpio"; 514 drive-strength = <2>; 461 drive-strength = <2>; 515 bias-pull-up; 462 bias-pull-up; 516 }; 463 }; 517 464 518 motor_en_default: motor-en-default-sta 465 motor_en_default: motor-en-default-state { 519 pins = "gpio86"; 466 pins = "gpio86"; 520 function = "gpio"; 467 function = "gpio"; 521 drive-strength = <2>; 468 drive-strength = <2>; 522 bias-disable; 469 bias-disable; 523 }; 470 }; 524 471 525 motor_pwm_default: motor-pwm-default-s 472 motor_pwm_default: motor-pwm-default-state { 526 pins = "gpio50"; 473 pins = "gpio50"; 527 function = "gcc_gp2_clk_a"; 474 function = "gcc_gp2_clk_a"; 528 }; 475 }; 529 476 530 muic_int_default: muic-int-default-sta 477 muic_int_default: muic-int-default-state { 531 pins = "gpio12"; 478 pins = "gpio12"; 532 function = "gpio"; 479 function = "gpio"; 533 drive-strength = <2>; 480 drive-strength = <2>; 534 bias-disable; 481 bias-disable; 535 }; 482 }; 536 483 537 nfc_default: nfc-default-state { 484 nfc_default: nfc-default-state { 538 irq-pins { 485 irq-pins { 539 pins = "gpio21"; 486 pins = "gpio21"; 540 function = "gpio"; 487 function = "gpio"; 541 drive-strength = <2>; 488 drive-strength = <2>; 542 bias-pull-down; 489 bias-pull-down; 543 }; 490 }; 544 491 545 nfc-pins { 492 nfc-pins { 546 pins = "gpio49", "gpio 493 pins = "gpio49", "gpio116"; 547 function = "gpio"; 494 function = "gpio"; 548 drive-strength = <2>; 495 drive-strength = <2>; 549 bias-disable; 496 bias-disable; 550 }; 497 }; 551 }; 498 }; 552 499 553 nfc_i2c_default: nfc-i2c-default-state 500 nfc_i2c_default: nfc-i2c-default-state { 554 pins = "gpio0", "gpio1"; 501 pins = "gpio0", "gpio1"; 555 function = "gpio"; << 556 drive-strength = <2>; << 557 bias-disable; << 558 }; << 559 << 560 pmic_int_default: pmic-int-default-sta << 561 pins = "gpio62"; << 562 function = "gpio"; 502 function = "gpio"; 563 drive-strength = <2>; 503 drive-strength = <2>; 564 bias-disable; 504 bias-disable; 565 }; 505 }; 566 506 567 reg_tsp_en_default: reg-tsp-en-default 507 reg_tsp_en_default: reg-tsp-en-default-state { 568 pins = "gpio73"; 508 pins = "gpio73"; 569 function = "gpio"; 509 function = "gpio"; 570 drive-strength = <2>; 510 drive-strength = <2>; 571 bias-disable; 511 bias-disable; 572 }; 512 }; 573 513 574 reg_tsp_io_en_default: reg-tsp-io-en-d 514 reg_tsp_io_en_default: reg-tsp-io-en-default-state { 575 pins = "gpio8"; 515 pins = "gpio8"; 576 function = "gpio"; 516 function = "gpio"; 577 drive-strength = <2>; 517 drive-strength = <2>; 578 bias-disable; 518 bias-disable; 579 }; 519 }; 580 520 581 sdc2_cd_default: sdc2-cd-default-state 521 sdc2_cd_default: sdc2-cd-default-state { 582 pins = "gpio38"; 522 pins = "gpio38"; 583 function = "gpio"; 523 function = "gpio"; 584 drive-strength = <2>; 524 drive-strength = <2>; 585 bias-disable; 525 bias-disable; 586 }; 526 }; 587 527 588 sensor_i2c_default: sensor-i2c-default 528 sensor_i2c_default: sensor-i2c-default-state { 589 pins = "gpio84", "gpio85"; 529 pins = "gpio84", "gpio85"; 590 function = "gpio"; 530 function = "gpio"; 591 drive-strength = <2>; 531 drive-strength = <2>; 592 bias-disable; 532 bias-disable; 593 }; 533 }; 594 534 595 tkey_default: tkey-default-state { 535 tkey_default: tkey-default-state { 596 pins = "gpio20"; 536 pins = "gpio20"; 597 function = "gpio"; 537 function = "gpio"; 598 drive-strength = <2>; 538 drive-strength = <2>; 599 bias-disable; 539 bias-disable; 600 }; 540 }; 601 541 602 tkey_en_default: tkey-en-default-state 542 tkey_en_default: tkey-en-default-state { 603 pins = "gpio56"; 543 pins = "gpio56"; 604 function = "gpio"; 544 function = "gpio"; 605 drive-strength = <2>; 545 drive-strength = <2>; 606 bias-disable; 546 bias-disable; 607 }; 547 }; 608 548 609 tkey_i2c_default: tkey-i2c-default-sta 549 tkey_i2c_default: tkey-i2c-default-state { 610 pins = "gpio16", "gpio17"; 550 pins = "gpio16", "gpio17"; 611 function = "gpio"; 551 function = "gpio"; 612 drive-strength = <2>; 552 drive-strength = <2>; 613 bias-disable; 553 bias-disable; 614 }; 554 }; 615 555 616 tkey_led_en_default: tkey-led-en-defau 556 tkey_led_en_default: tkey-led-en-default-state { 617 pins = "gpio100"; 557 pins = "gpio100"; 618 function = "gpio"; 558 function = "gpio"; 619 drive-strength = <2>; 559 drive-strength = <2>; 620 bias-disable; 560 bias-disable; 621 }; 561 }; 622 562 623 tsp_int_default: tsp-int-default-state 563 tsp_int_default: tsp-int-default-state { 624 pins = "gpio13"; 564 pins = "gpio13"; 625 function = "gpio"; 565 function = "gpio"; 626 drive-strength = <2>; 566 drive-strength = <2>; 627 bias-disable; 567 bias-disable; 628 }; 568 }; 629 }; 569 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.