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