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 289 301 usb_con: connector { 290 usb_con: connector { 302 compatible = "usb-b-co 291 compatible = "usb-b-connector"; 303 label = "micro-USB"; 292 label = "micro-USB"; 304 type = "micro"; 293 type = "micro"; 305 }; 294 }; 306 }; 295 }; 307 }; 296 }; 308 297 309 &blsp_i2c2 { 298 &blsp_i2c2 { 310 status = "okay"; 299 status = "okay"; 311 300 312 speaker_codec: audio-codec@34 { 301 speaker_codec: audio-codec@34 { 313 compatible = "nxp,tfa9895"; 302 compatible = "nxp,tfa9895"; 314 reg = <0x34>; 303 reg = <0x34>; 315 vddd-supply = <&pm8916_l5>; 304 vddd-supply = <&pm8916_l5>; 316 sound-name-prefix = "Speaker"; 305 sound-name-prefix = "Speaker"; 317 #sound-dai-cells = <0>; 306 #sound-dai-cells = <0>; 318 }; 307 }; 319 }; 308 }; 320 309 321 &blsp_i2c5 { 310 &blsp_i2c5 { 322 status = "okay"; 311 status = "okay"; 323 312 324 touchscreen@24 { 313 touchscreen@24 { 325 compatible = "cypress,tt21000" 314 compatible = "cypress,tt21000"; 326 315 327 reg = <0x24>; 316 reg = <0x24>; 328 interrupt-parent = <&tlmm>; 317 interrupt-parent = <&tlmm>; 329 interrupts = <13 IRQ_TYPE_EDGE 318 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 330 319 331 vdd-supply = <®_vdd_tsp>; 320 vdd-supply = <®_vdd_tsp>; 332 vddio-supply = <®_tsp_vdd>; 321 vddio-supply = <®_tsp_vdd>; 333 322 334 pinctrl-0 = <&tsp_int_default> 323 pinctrl-0 = <&tsp_int_default>; 335 pinctrl-names = "default"; 324 pinctrl-names = "default"; 336 }; 325 }; 337 }; 326 }; 338 327 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 { 328 &blsp_uart2 { 376 status = "okay"; 329 status = "okay"; 377 }; 330 }; 378 331 379 /* 332 /* 380 * For some reason the speaker amplifier is co 333 * For some reason the speaker amplifier is connected to the second SD line 381 * (MI2S_2_D1) instead of the first (MI2S_2_D0 334 * (MI2S_2_D1) instead of the first (MI2S_2_D0). This must be configured in the 382 * device tree, otherwise audio will seemingly 335 * device tree, otherwise audio will seemingly play fine on the wrong SD line 383 * but the speaker stays silent. 336 * but the speaker stays silent. 384 * 337 * 385 * When routing audio via QDSP6 (the default) 338 * When routing audio via QDSP6 (the default) the &lpass node is reserved and 386 * the definitions from &q6afedai are used. Wh 339 * the definitions from &q6afedai are used. When the modem is disabled audio can 387 * be alternatively routed directly to the LPA 340 * be alternatively routed directly to the LPASS hardware with reduced latency. 388 * The definitions for &lpass are here for com 341 * The definitions for &lpass are here for completeness to simplify changing the 389 * setup with minor changes to the DT (either 342 * setup with minor changes to the DT (either manually or with DT overlays). 390 */ 343 */ 391 &lpass { 344 &lpass { 392 dai-link@3 { 345 dai-link@3 { 393 reg = <MI2S_QUATERNARY>; 346 reg = <MI2S_QUATERNARY>; 394 qcom,playback-sd-lines = <1>; 347 qcom,playback-sd-lines = <1>; 395 }; 348 }; 396 }; 349 }; 397 350 398 &mpss_mem { 351 &mpss_mem { 399 reg = <0x0 0x86800000 0x0 0x5800000>; 352 reg = <0x0 0x86800000 0x0 0x5800000>; 400 }; 353 }; 401 354 402 &pm8916_resin { 355 &pm8916_resin { 403 linux,code = <KEY_VOLUMEDOWN>; 356 linux,code = <KEY_VOLUMEDOWN>; 404 status = "okay"; 357 status = "okay"; 405 }; 358 }; 406 359 407 &pm8916_rpm_regulators { 360 &pm8916_rpm_regulators { 408 pm8916_l17: l17 { 361 pm8916_l17: l17 { 409 regulator-min-microvolt = <285 362 regulator-min-microvolt = <2850000>; 410 regulator-max-microvolt = <285 363 regulator-max-microvolt = <2850000>; 411 }; 364 }; 412 }; 365 }; 413 366 414 &q6afedai { 367 &q6afedai { 415 dai@22 { 368 dai@22 { 416 reg = <QUATERNARY_MI2S_RX>; 369 reg = <QUATERNARY_MI2S_RX>; 417 qcom,sd-lines = <1>; 370 qcom,sd-lines = <1>; 418 }; 371 }; 419 }; 372 }; 420 373 421 &sdhc_1 { 374 &sdhc_1 { 422 status = "okay"; 375 status = "okay"; 423 }; 376 }; 424 377 425 &sdhc_2 { 378 &sdhc_2 { 426 pinctrl-0 = <&sdc2_default &sdc2_cd_de 379 pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 427 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa 380 pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 428 pinctrl-names = "default", "sleep"; 381 pinctrl-names = "default", "sleep"; 429 382 430 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 383 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 431 384 432 status = "okay"; 385 status = "okay"; 433 }; 386 }; 434 387 435 &sound { 388 &sound { 436 model = "samsung-a2015"; 389 model = "samsung-a2015"; 437 audio-routing = 390 audio-routing = 438 "AMIC1", "MIC BIAS External1", 391 "AMIC1", "MIC BIAS External1", 439 "AMIC2", "MIC BIAS Internal2", 392 "AMIC2", "MIC BIAS Internal2", 440 "AMIC3", "MIC BIAS External1"; 393 "AMIC3", "MIC BIAS External1"; 441 394 442 pinctrl-0 = <&cdc_pdm_default &sec_mi2 395 pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 443 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_ 396 pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 444 pinctrl-names = "default", "sleep"; 397 pinctrl-names = "default", "sleep"; 445 398 446 sound_link_backend2: backend2-dai-link 399 sound_link_backend2: backend2-dai-link { 447 link-name = "Quaternary MI2S"; 400 link-name = "Quaternary MI2S"; 448 401 449 cpu { 402 cpu { 450 sound-dai = <&q6afedai 403 sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; 451 }; 404 }; 452 platform { 405 platform { 453 sound-dai = <&q6routin 406 sound-dai = <&q6routing>; 454 }; 407 }; 455 codec { 408 codec { 456 sound-dai = <&speaker_ 409 sound-dai = <&speaker_codec>; 457 }; 410 }; 458 }; 411 }; 459 }; 412 }; 460 413 461 &usb { 414 &usb { 462 extcon = <&muic>, <&muic>; 415 extcon = <&muic>, <&muic>; 463 status = "okay"; 416 status = "okay"; 464 }; 417 }; 465 418 466 &usb_hs_phy { 419 &usb_hs_phy { 467 extcon = <&muic>; 420 extcon = <&muic>; 468 }; 421 }; 469 422 470 &wcnss { 423 &wcnss { 471 status = "okay"; 424 status = "okay"; 472 }; 425 }; 473 426 474 &wcnss_iris { 427 &wcnss_iris { 475 compatible = "qcom,wcn3660b"; 428 compatible = "qcom,wcn3660b"; 476 }; 429 }; 477 430 478 &wcnss_mem { 431 &wcnss_mem { 479 status = "okay"; 432 status = "okay"; 480 }; 433 }; 481 434 482 &tlmm { 435 &tlmm { 483 accel_int_default: accel-int-default-s 436 accel_int_default: accel-int-default-state { 484 pins = "gpio115"; 437 pins = "gpio115"; 485 function = "gpio"; 438 function = "gpio"; 486 drive-strength = <2>; 439 drive-strength = <2>; 487 bias-disable; 440 bias-disable; 488 }; 441 }; 489 442 490 fg_alert_default: fg-alert-default-sta 443 fg_alert_default: fg-alert-default-state { 491 pins = "gpio121"; 444 pins = "gpio121"; 492 function = "gpio"; 445 function = "gpio"; 493 drive-strength = <2>; 446 drive-strength = <2>; 494 bias-disable; 447 bias-disable; 495 }; 448 }; 496 449 497 fg_i2c_default: fg-i2c-default-state { 450 fg_i2c_default: fg-i2c-default-state { 498 pins = "gpio105", "gpio106"; 451 pins = "gpio105", "gpio106"; 499 function = "gpio"; 452 function = "gpio"; 500 drive-strength = <2>; 453 drive-strength = <2>; 501 bias-disable; 454 bias-disable; 502 }; 455 }; 503 456 504 gpio_hall_sensor_default: gpio-hall-se 457 gpio_hall_sensor_default: gpio-hall-sensor-default-state { 505 pins = "gpio52"; 458 pins = "gpio52"; 506 function = "gpio"; 459 function = "gpio"; 507 drive-strength = <2>; 460 drive-strength = <2>; 508 bias-disable; 461 bias-disable; 509 }; 462 }; 510 463 511 gpio_keys_default: gpio-keys-default-s 464 gpio_keys_default: gpio-keys-default-state { 512 pins = "gpio107", "gpio109"; 465 pins = "gpio107", "gpio109"; 513 function = "gpio"; 466 function = "gpio"; 514 drive-strength = <2>; 467 drive-strength = <2>; 515 bias-pull-up; 468 bias-pull-up; 516 }; 469 }; 517 470 518 motor_en_default: motor-en-default-sta 471 motor_en_default: motor-en-default-state { 519 pins = "gpio86"; 472 pins = "gpio86"; 520 function = "gpio"; 473 function = "gpio"; 521 drive-strength = <2>; 474 drive-strength = <2>; 522 bias-disable; 475 bias-disable; 523 }; 476 }; 524 477 525 motor_pwm_default: motor-pwm-default-s 478 motor_pwm_default: motor-pwm-default-state { 526 pins = "gpio50"; 479 pins = "gpio50"; 527 function = "gcc_gp2_clk_a"; 480 function = "gcc_gp2_clk_a"; 528 }; 481 }; 529 482 530 muic_int_default: muic-int-default-sta 483 muic_int_default: muic-int-default-state { 531 pins = "gpio12"; 484 pins = "gpio12"; 532 function = "gpio"; 485 function = "gpio"; 533 drive-strength = <2>; 486 drive-strength = <2>; 534 bias-disable; 487 bias-disable; 535 }; 488 }; 536 489 537 nfc_default: nfc-default-state { 490 nfc_default: nfc-default-state { 538 irq-pins { 491 irq-pins { 539 pins = "gpio21"; 492 pins = "gpio21"; 540 function = "gpio"; 493 function = "gpio"; 541 drive-strength = <2>; 494 drive-strength = <2>; 542 bias-pull-down; 495 bias-pull-down; 543 }; 496 }; 544 497 545 nfc-pins { 498 nfc-pins { 546 pins = "gpio49", "gpio 499 pins = "gpio49", "gpio116"; 547 function = "gpio"; 500 function = "gpio"; 548 drive-strength = <2>; 501 drive-strength = <2>; 549 bias-disable; 502 bias-disable; 550 }; 503 }; 551 }; 504 }; 552 505 553 nfc_i2c_default: nfc-i2c-default-state 506 nfc_i2c_default: nfc-i2c-default-state { 554 pins = "gpio0", "gpio1"; 507 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"; 508 function = "gpio"; 563 drive-strength = <2>; 509 drive-strength = <2>; 564 bias-disable; 510 bias-disable; 565 }; 511 }; 566 512 567 reg_tsp_en_default: reg-tsp-en-default 513 reg_tsp_en_default: reg-tsp-en-default-state { 568 pins = "gpio73"; 514 pins = "gpio73"; 569 function = "gpio"; 515 function = "gpio"; 570 drive-strength = <2>; 516 drive-strength = <2>; 571 bias-disable; 517 bias-disable; 572 }; 518 }; 573 519 574 reg_tsp_io_en_default: reg-tsp-io-en-d 520 reg_tsp_io_en_default: reg-tsp-io-en-default-state { 575 pins = "gpio8"; 521 pins = "gpio8"; 576 function = "gpio"; 522 function = "gpio"; 577 drive-strength = <2>; 523 drive-strength = <2>; 578 bias-disable; 524 bias-disable; 579 }; 525 }; 580 526 581 sdc2_cd_default: sdc2-cd-default-state 527 sdc2_cd_default: sdc2-cd-default-state { 582 pins = "gpio38"; 528 pins = "gpio38"; 583 function = "gpio"; 529 function = "gpio"; 584 drive-strength = <2>; 530 drive-strength = <2>; 585 bias-disable; 531 bias-disable; 586 }; 532 }; 587 533 588 sensor_i2c_default: sensor-i2c-default 534 sensor_i2c_default: sensor-i2c-default-state { 589 pins = "gpio84", "gpio85"; 535 pins = "gpio84", "gpio85"; 590 function = "gpio"; 536 function = "gpio"; 591 drive-strength = <2>; 537 drive-strength = <2>; 592 bias-disable; 538 bias-disable; 593 }; 539 }; 594 540 595 tkey_default: tkey-default-state { 541 tkey_default: tkey-default-state { 596 pins = "gpio20"; 542 pins = "gpio20"; 597 function = "gpio"; 543 function = "gpio"; 598 drive-strength = <2>; 544 drive-strength = <2>; 599 bias-disable; 545 bias-disable; 600 }; 546 }; 601 547 602 tkey_en_default: tkey-en-default-state 548 tkey_en_default: tkey-en-default-state { 603 pins = "gpio56"; 549 pins = "gpio56"; 604 function = "gpio"; 550 function = "gpio"; 605 drive-strength = <2>; 551 drive-strength = <2>; 606 bias-disable; 552 bias-disable; 607 }; 553 }; 608 554 609 tkey_i2c_default: tkey-i2c-default-sta 555 tkey_i2c_default: tkey-i2c-default-state { 610 pins = "gpio16", "gpio17"; 556 pins = "gpio16", "gpio17"; 611 function = "gpio"; 557 function = "gpio"; 612 drive-strength = <2>; 558 drive-strength = <2>; 613 bias-disable; 559 bias-disable; 614 }; 560 }; 615 561 616 tkey_led_en_default: tkey-led-en-defau 562 tkey_led_en_default: tkey-led-en-default-state { 617 pins = "gpio100"; 563 pins = "gpio100"; 618 function = "gpio"; 564 function = "gpio"; 619 drive-strength = <2>; 565 drive-strength = <2>; 620 bias-disable; 566 bias-disable; 621 }; 567 }; 622 568 623 tsp_int_default: tsp-int-default-state 569 tsp_int_default: tsp-int-default-state { 624 pins = "gpio13"; 570 pins = "gpio13"; 625 function = "gpio"; 571 function = "gpio"; 626 drive-strength = <2>; 572 drive-strength = <2>; 627 bias-disable; 573 bias-disable; 628 }; 574 }; 629 }; 575 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.