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