1 // SPDX-License-Identifier: GPL-2.0-only 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 2 /* 3 * Copyright (C) 2021 Stephan Gerhold 3 * Copyright (C) 2021 Stephan Gerhold 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 7 8 #include "msm8916-pm8916.dtsi" 8 #include "msm8916-pm8916.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/interrupt-controller/irq 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/leds/common.h> 13 #include <dt-bindings/sound/apq8016-lpass.h> 13 #include <dt-bindings/sound/apq8016-lpass.h> 14 14 15 /* 15 /* 16 * Note: The original firmware from Huawei can 16 * Note: The original firmware from Huawei can only boot 32-bit kernels. 17 * To boot this device tree using arm64 it is 17 * To boot this device tree using arm64 it is necessary to flash 64-bit TZ/HYP 18 * firmware (e.g. taken from the DragonBoard 4 18 * firmware (e.g. taken from the DragonBoard 410c). 19 * See https://wiki.postmarketos.org/wiki/Huaw 19 * See https://wiki.postmarketos.org/wiki/Huawei_Ascend_G7_(huawei-g7) 20 * for suggested installation instructions. 20 * for suggested installation instructions. 21 */ 21 */ 22 22 23 / { 23 / { 24 model = "Huawei Ascend G7"; 24 model = "Huawei Ascend G7"; 25 compatible = "huawei,g7", "qcom,msm891 25 compatible = "huawei,g7", "qcom,msm8916"; 26 chassis-type = "handset"; 26 chassis-type = "handset"; 27 27 28 aliases { 28 aliases { 29 mmc0 = &sdhc_1; /* eMMC */ !! 29 serial0 = &blsp1_uart2; 30 mmc1 = &sdhc_2; /* SD card */ << 31 serial0 = &blsp_uart2; << 32 }; 30 }; 33 31 34 chosen { 32 chosen { 35 stdout-path = "serial0"; 33 stdout-path = "serial0"; 36 }; 34 }; 37 35 38 gpio-keys { 36 gpio-keys { 39 compatible = "gpio-keys"; 37 compatible = "gpio-keys"; 40 38 41 pinctrl-names = "default"; 39 pinctrl-names = "default"; 42 pinctrl-0 = <&gpio_keys_defaul 40 pinctrl-0 = <&gpio_keys_default>; 43 41 44 label = "GPIO Buttons"; 42 label = "GPIO Buttons"; 45 43 46 button-volume-up { 44 button-volume-up { 47 label = "Volume Up"; 45 label = "Volume Up"; 48 gpios = <&tlmm 107 GPI !! 46 gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; 49 linux,code = <KEY_VOLU 47 linux,code = <KEY_VOLUMEUP>; 50 }; 48 }; 51 }; 49 }; 52 50 53 leds { 51 leds { 54 compatible = "gpio-leds"; 52 compatible = "gpio-leds"; 55 53 56 pinctrl-names = "default"; 54 pinctrl-names = "default"; 57 pinctrl-0 = <&gpio_leds_defaul 55 pinctrl-0 = <&gpio_leds_default>; 58 56 59 led-0 { 57 led-0 { 60 gpios = <&tlmm 8 GPIO_ !! 58 gpios = <&msmgpio 8 GPIO_ACTIVE_HIGH>; 61 color = <LED_COLOR_ID_ 59 color = <LED_COLOR_ID_RED>; 62 default-state = "off"; 60 default-state = "off"; 63 function = LED_FUNCTIO 61 function = LED_FUNCTION_INDICATOR; 64 }; 62 }; 65 63 66 led-1 { 64 led-1 { 67 gpios = <&tlmm 9 GPIO_ !! 65 gpios = <&msmgpio 9 GPIO_ACTIVE_HIGH>; 68 color = <LED_COLOR_ID_ 66 color = <LED_COLOR_ID_GREEN>; 69 default-state = "off"; 67 default-state = "off"; 70 function = LED_FUNCTIO 68 function = LED_FUNCTION_INDICATOR; 71 }; 69 }; 72 70 73 led-2 { 71 led-2 { 74 gpios = <&tlmm 10 GPIO !! 72 gpios = <&msmgpio 10 GPIO_ACTIVE_HIGH>; 75 color = <LED_COLOR_ID_ 73 color = <LED_COLOR_ID_BLUE>; 76 default-state = "off"; 74 default-state = "off"; 77 function = LED_FUNCTIO 75 function = LED_FUNCTION_INDICATOR; 78 }; 76 }; 79 }; 77 }; 80 78 81 usb_id: usb-id { 79 usb_id: usb-id { 82 compatible = "linux,extcon-usb 80 compatible = "linux,extcon-usb-gpio"; 83 id-gpios = <&tlmm 117 GPIO_ACT !! 81 id-gpio = <&msmgpio 117 GPIO_ACTIVE_HIGH>; 84 pinctrl-names = "default"; 82 pinctrl-names = "default"; 85 pinctrl-0 = <&usb_id_default>; 83 pinctrl-0 = <&usb_id_default>; 86 }; 84 }; 87 }; 85 }; 88 86 89 &blsp_i2c2 { 87 &blsp_i2c2 { 90 status = "okay"; 88 status = "okay"; 91 89 92 magnetometer@c { 90 magnetometer@c { 93 compatible = "asahi-kasei,ak09 91 compatible = "asahi-kasei,ak09911"; 94 reg = <0x0c>; 92 reg = <0x0c>; 95 93 96 vdd-supply = <&pm8916_l17>; 94 vdd-supply = <&pm8916_l17>; 97 vid-supply = <&pm8916_l6>; 95 vid-supply = <&pm8916_l6>; 98 96 99 reset-gpios = <&tlmm 36 GPIO_A !! 97 reset-gpios = <&msmgpio 36 GPIO_ACTIVE_LOW>; 100 98 101 pinctrl-names = "default"; 99 pinctrl-names = "default"; 102 pinctrl-0 = <&mag_reset_defaul 100 pinctrl-0 = <&mag_reset_default>; 103 }; 101 }; 104 102 105 accelerometer@1e { 103 accelerometer@1e { 106 compatible = "kionix,kx023-102 104 compatible = "kionix,kx023-1025"; 107 reg = <0x1e>; 105 reg = <0x1e>; 108 106 109 interrupt-parent = <&tlmm>; !! 107 interrupt-parent = <&msmgpio>; 110 interrupts = <115 IRQ_TYPE_EDG 108 interrupts = <115 IRQ_TYPE_EDGE_RISING>; 111 109 112 vdd-supply = <&pm8916_l17>; 110 vdd-supply = <&pm8916_l17>; 113 vddio-supply = <&pm8916_l6>; 111 vddio-supply = <&pm8916_l6>; 114 112 115 pinctrl-names = "default"; 113 pinctrl-names = "default"; 116 pinctrl-0 = <&accel_irq_defaul 114 pinctrl-0 = <&accel_irq_default>; 117 115 118 mount-matrix = "-1", "0", "0", 116 mount-matrix = "-1", "0", "0", 119 "0", "1", "0", 117 "0", "1", "0", 120 "0", "0", "1"; 118 "0", "0", "1"; 121 }; 119 }; 122 120 123 proximity@39 { 121 proximity@39 { 124 compatible = "avago,apds9930"; 122 compatible = "avago,apds9930"; 125 reg = <0x39>; 123 reg = <0x39>; 126 124 127 interrupt-parent = <&tlmm>; !! 125 interrupt-parent = <&msmgpio>; 128 interrupts = <113 IRQ_TYPE_EDG 126 interrupts = <113 IRQ_TYPE_EDGE_FALLING>; 129 127 130 vdd-supply = <&pm8916_l17>; 128 vdd-supply = <&pm8916_l17>; 131 vddio-supply = <&pm8916_l6>; 129 vddio-supply = <&pm8916_l6>; 132 130 133 led-max-microamp = <100000>; 131 led-max-microamp = <100000>; 134 amstaos,proximity-diodes = <1> 132 amstaos,proximity-diodes = <1>; 135 133 136 pinctrl-names = "default"; 134 pinctrl-names = "default"; 137 pinctrl-0 = <&prox_irq_default 135 pinctrl-0 = <&prox_irq_default>; 138 }; 136 }; 139 137 140 regulator@3e { 138 regulator@3e { 141 compatible = "ti,tps65132"; 139 compatible = "ti,tps65132"; 142 reg = <0x3e>; 140 reg = <0x3e>; 143 141 144 pinctrl-names = "default"; 142 pinctrl-names = "default"; 145 pinctrl-0 = <®_lcd_en_defau 143 pinctrl-0 = <®_lcd_en_default>; 146 144 147 reg_lcd_pos: outp { 145 reg_lcd_pos: outp { 148 regulator-name = "outp 146 regulator-name = "outp"; 149 regulator-min-microvol 147 regulator-min-microvolt = <5400000>; 150 regulator-max-microvol 148 regulator-max-microvolt = <5400000>; 151 enable-gpios = <&tlmm !! 149 enable-gpios = <&msmgpio 97 GPIO_ACTIVE_HIGH>; 152 regulator-active-disch 150 regulator-active-discharge = <1>; 153 }; 151 }; 154 152 155 reg_lcd_neg: outn { 153 reg_lcd_neg: outn { 156 regulator-name = "outn 154 regulator-name = "outn"; 157 regulator-min-microvol 155 regulator-min-microvolt = <5400000>; 158 regulator-max-microvol 156 regulator-max-microvolt = <5400000>; 159 enable-gpios = <&tlmm !! 157 enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>; 160 regulator-active-disch 158 regulator-active-discharge = <1>; 161 }; 159 }; 162 }; 160 }; 163 }; 161 }; 164 162 165 &blsp_i2c5 { 163 &blsp_i2c5 { 166 status = "okay"; 164 status = "okay"; 167 165 168 rmi4@70 { 166 rmi4@70 { 169 compatible = "syna,rmi4-i2c"; 167 compatible = "syna,rmi4-i2c"; 170 reg = <0x70>; 168 reg = <0x70>; 171 #address-cells = <1>; 169 #address-cells = <1>; 172 #size-cells = <0>; 170 #size-cells = <0>; 173 171 174 interrupt-parent = <&tlmm>; !! 172 interrupt-parent = <&msmgpio>; 175 interrupts = <13 IRQ_TYPE_EDGE 173 interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 176 174 177 vdd-supply = <&pm8916_l17>; 175 vdd-supply = <&pm8916_l17>; 178 vio-supply = <&pm8916_l16>; 176 vio-supply = <&pm8916_l16>; 179 177 180 pinctrl-names = "default"; 178 pinctrl-names = "default"; 181 pinctrl-0 = <&ts_irq_default>; 179 pinctrl-0 = <&ts_irq_default>; 182 180 183 syna,startup-delay-ms = <100>; 181 syna,startup-delay-ms = <100>; 184 182 185 rmi4-f01@1 { 183 rmi4-f01@1 { 186 reg = <0x1>; 184 reg = <0x1>; 187 syna,nosleep-mode = <1 185 syna,nosleep-mode = <1>; /* Allow sleeping */ 188 }; 186 }; 189 187 190 rmi4-f11@11 { 188 rmi4-f11@11 { 191 reg = <0x11>; 189 reg = <0x11>; 192 syna,sensor-type = <1> 190 syna,sensor-type = <1>; /* Touchscreen */ 193 }; 191 }; 194 }; 192 }; 195 }; 193 }; 196 194 197 &blsp_i2c6 { 195 &blsp_i2c6 { 198 status = "okay"; 196 status = "okay"; 199 197 200 nfc@28 { 198 nfc@28 { 201 compatible = "nxp,pn547", "nxp 199 compatible = "nxp,pn547", "nxp,nxp-nci-i2c"; 202 reg = <0x28>; 200 reg = <0x28>; 203 201 204 interrupt-parent = <&tlmm>; !! 202 interrupt-parent = <&msmgpio>; 205 interrupts = <21 IRQ_TYPE_EDGE 203 interrupts = <21 IRQ_TYPE_EDGE_RISING>; 206 204 207 enable-gpios = <&tlmm 20 GPIO_ !! 205 enable-gpios = <&msmgpio 20 GPIO_ACTIVE_HIGH>; 208 firmware-gpios = <&tlmm 2 GPIO !! 206 firmware-gpios = <&msmgpio 2 GPIO_ACTIVE_HIGH>; 209 207 210 pinctrl-names = "default"; 208 pinctrl-names = "default"; 211 pinctrl-0 = <&nfc_default>; 209 pinctrl-0 = <&nfc_default>; 212 }; 210 }; 213 }; 211 }; 214 212 215 &blsp_uart2 { !! 213 &blsp1_uart2 { 216 status = "okay"; 214 status = "okay"; 217 }; 215 }; 218 216 219 &lpass { 217 &lpass { 220 status = "okay"; 218 status = "okay"; 221 }; 219 }; 222 220 223 &lpass_codec { << 224 status = "okay"; << 225 }; << 226 << 227 &pm8916_codec { << 228 status = "okay"; << 229 qcom,micbias-lvl = <2800>; << 230 qcom,mbhc-vthreshold-low = <75 150 237 << 231 qcom,mbhc-vthreshold-high = <75 150 23 << 232 qcom,hphl-jack-type-normally-open; << 233 }; << 234 << 235 &pm8916_l8 { << 236 regulator-min-microvolt = <2950000>; << 237 regulator-max-microvolt = <2950000>; << 238 }; << 239 << 240 &pm8916_resin { 221 &pm8916_resin { 241 status = "okay"; 222 status = "okay"; 242 linux,code = <KEY_VOLUMEDOWN>; 223 linux,code = <KEY_VOLUMEDOWN>; 243 }; 224 }; 244 225 245 &pm8916_rpm_regulators { !! 226 &pm8916_vib { 246 pm8916_l16: l16 { !! 227 status = "okay"; 247 regulator-min-microvolt = <180 << 248 regulator-max-microvolt = <180 << 249 }; << 250 << 251 pm8916_l17: l17 { << 252 regulator-min-microvolt = <285 << 253 regulator-max-microvolt = <285 << 254 }; << 255 }; 228 }; 256 229 257 &pm8916_vib { !! 230 &pronto { 258 status = "okay"; 231 status = "okay"; 259 }; 232 }; 260 233 261 &sdhc_1 { 234 &sdhc_1 { 262 status = "okay"; 235 status = "okay"; >> 236 >> 237 pinctrl-names = "default", "sleep"; >> 238 pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; >> 239 pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; 263 }; 240 }; 264 241 265 &sdhc_2 { 242 &sdhc_2 { 266 status = "okay"; 243 status = "okay"; 267 244 268 pinctrl-names = "default", "sleep"; 245 pinctrl-names = "default", "sleep"; 269 pinctrl-0 = <&sdc2_default &sdc2_cd_de !! 246 pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdhc2_cd_default>; 270 pinctrl-1 = <&sdc2_sleep &sdc2_cd_defa !! 247 pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdhc2_cd_default>; 271 248 272 /* 249 /* 273 * The Huawei device tree sets cd-gpio !! 250 * The Huawei device tree sets cd-gpios = <&msmgpio 38 GPIO_ACTIVE_HIGH>. 274 * However, gpio38 does not change its 251 * However, gpio38 does not change its state when inserting/removing the 275 * SD card, it's just low all the time 252 * SD card, it's just low all the time. The Huawei kernel seems to use 276 * polling for SD card detection inste 253 * polling for SD card detection instead. 277 * 254 * 278 * However, looking closer at the GPIO 255 * However, looking closer at the GPIO debug output it turns out that 279 * gpio56 switches its state when inse 256 * gpio56 switches its state when inserting/removing the SD card. 280 * It behaves just like gpio38 normall 257 * It behaves just like gpio38 normally does. Usually GPIO56 is used as 281 * "UIM2_PRESENT", i.e. to check if a 258 * "UIM2_PRESENT", i.e. to check if a second SIM card is inserted. 282 * Maybe Huawei decided to replace the 259 * Maybe Huawei decided to replace the second SIM card slot with the 283 * SD card slot and forgot to re-route 260 * SD card slot and forgot to re-route to gpio38. 284 */ 261 */ 285 cd-gpios = <&tlmm 56 GPIO_ACTIVE_LOW>; !! 262 cd-gpios = <&msmgpio 56 GPIO_ACTIVE_LOW>; 286 }; 263 }; 287 264 288 &sound { 265 &sound { 289 status = "okay"; 266 status = "okay"; 290 267 291 model = "msm8916"; 268 model = "msm8916"; 292 audio-routing = 269 audio-routing = 293 "AMIC1", "MIC BIAS External1", 270 "AMIC1", "MIC BIAS External1", 294 "AMIC2", "MIC BIAS External2", 271 "AMIC2", "MIC BIAS External2", 295 "AMIC3", "MIC BIAS External1"; 272 "AMIC3", "MIC BIAS External1"; 296 273 297 pinctrl-names = "default", "sleep"; 274 pinctrl-names = "default", "sleep"; 298 pinctrl-0 = <&cdc_pdm_default>; !! 275 pinctrl-0 = <&cdc_pdm_lines_act>; 299 pinctrl-1 = <&cdc_pdm_sleep>; !! 276 pinctrl-1 = <&cdc_pdm_lines_sus>; 300 277 301 primary-dai-link { 278 primary-dai-link { 302 link-name = "WCD"; 279 link-name = "WCD"; 303 cpu { 280 cpu { 304 sound-dai = <&lpass MI 281 sound-dai = <&lpass MI2S_PRIMARY>; 305 }; 282 }; 306 codec { 283 codec { 307 sound-dai = <&lpass_co !! 284 sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 308 }; 285 }; 309 }; 286 }; 310 287 311 tertiary-dai-link { 288 tertiary-dai-link { 312 link-name = "WCD-Capture"; 289 link-name = "WCD-Capture"; 313 cpu { 290 cpu { 314 sound-dai = <&lpass MI 291 sound-dai = <&lpass MI2S_TERTIARY>; 315 }; 292 }; 316 codec { 293 codec { 317 sound-dai = <&lpass_co !! 294 sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; 318 }; 295 }; 319 }; 296 }; 320 }; 297 }; 321 298 322 &usb { 299 &usb { 323 status = "okay"; 300 status = "okay"; 324 extcon = <&usb_id>, <&usb_id>; 301 extcon = <&usb_id>, <&usb_id>; 325 }; 302 }; 326 303 327 &usb_hs_phy { 304 &usb_hs_phy { 328 extcon = <&usb_id>; 305 extcon = <&usb_id>; 329 }; 306 }; 330 307 331 &venus { !! 308 &wcd_codec { 332 status = "okay"; !! 309 qcom,micbias-lvl = <2800>; >> 310 qcom,mbhc-vthreshold-low = <75 150 237 450 500>; >> 311 qcom,mbhc-vthreshold-high = <75 150 237 450 500>; >> 312 qcom,hphl-jack-type-normally-open; 333 }; 313 }; 334 314 335 &venus_mem { !! 315 &smd_rpm_regulators { 336 status = "okay"; !! 316 vdd_l1_l2_l3-supply = <&pm8916_s3>; 337 }; !! 317 vdd_l4_l5_l6-supply = <&pm8916_s4>; >> 318 vdd_l7-supply = <&pm8916_s4>; 338 319 339 &wcnss { !! 320 s3 { 340 status = "okay"; !! 321 regulator-min-microvolt = <1200000>; 341 }; !! 322 regulator-max-microvolt = <1300000>; >> 323 }; 342 324 343 &wcnss_iris { !! 325 s4 { 344 compatible = "qcom,wcn3620"; !! 326 regulator-min-microvolt = <1800000>; 345 }; !! 327 regulator-max-microvolt = <2100000>; >> 328 }; 346 329 347 &wcnss_mem { !! 330 l1 { 348 status = "okay"; !! 331 regulator-min-microvolt = <1225000>; >> 332 regulator-max-microvolt = <1225000>; >> 333 }; >> 334 >> 335 l2 { >> 336 regulator-min-microvolt = <1200000>; >> 337 regulator-max-microvolt = <1200000>; >> 338 }; >> 339 >> 340 l4 { >> 341 regulator-min-microvolt = <2050000>; >> 342 regulator-max-microvolt = <2050000>; >> 343 }; >> 344 >> 345 l5 { >> 346 regulator-min-microvolt = <1800000>; >> 347 regulator-max-microvolt = <1800000>; >> 348 }; >> 349 >> 350 l6 { >> 351 regulator-min-microvolt = <1800000>; >> 352 regulator-max-microvolt = <1800000>; >> 353 }; >> 354 >> 355 l7 { >> 356 regulator-min-microvolt = <1800000>; >> 357 regulator-max-microvolt = <1800000>; >> 358 }; >> 359 >> 360 l8 { >> 361 regulator-min-microvolt = <2950000>; >> 362 regulator-max-microvolt = <2950000>; >> 363 }; >> 364 >> 365 l9 { >> 366 regulator-min-microvolt = <3300000>; >> 367 regulator-max-microvolt = <3300000>; >> 368 }; >> 369 >> 370 l10 { >> 371 regulator-min-microvolt = <2700000>; >> 372 regulator-max-microvolt = <2800000>; >> 373 }; >> 374 >> 375 l11 { >> 376 regulator-min-microvolt = <1800000>; >> 377 regulator-max-microvolt = <2950000>; >> 378 regulator-allow-set-load; >> 379 regulator-system-load = <200000>; >> 380 }; >> 381 >> 382 l12 { >> 383 regulator-min-microvolt = <1800000>; >> 384 regulator-max-microvolt = <2950000>; >> 385 }; >> 386 >> 387 l13 { >> 388 regulator-min-microvolt = <3075000>; >> 389 regulator-max-microvolt = <3075000>; >> 390 }; >> 391 >> 392 l14 { >> 393 regulator-min-microvolt = <1800000>; >> 394 regulator-max-microvolt = <3300000>; >> 395 }; >> 396 >> 397 l15 { >> 398 regulator-min-microvolt = <1800000>; >> 399 regulator-max-microvolt = <3300000>; >> 400 }; >> 401 >> 402 l16 { >> 403 regulator-min-microvolt = <1800000>; >> 404 regulator-max-microvolt = <1800000>; >> 405 }; >> 406 >> 407 l17 { >> 408 regulator-min-microvolt = <2850000>; >> 409 regulator-max-microvolt = <2850000>; >> 410 }; >> 411 >> 412 l18 { >> 413 regulator-min-microvolt = <2700000>; >> 414 regulator-max-microvolt = <2700000>; >> 415 }; 349 }; 416 }; 350 417 351 &tlmm { !! 418 &msmgpio { 352 accel_irq_default: accel-irq-default-s 419 accel_irq_default: accel-irq-default-state { 353 pins = "gpio115"; 420 pins = "gpio115"; 354 function = "gpio"; 421 function = "gpio"; 355 422 356 drive-strength = <2>; 423 drive-strength = <2>; 357 bias-disable; 424 bias-disable; 358 }; 425 }; 359 426 360 gpio_keys_default: gpio-keys-default-s 427 gpio_keys_default: gpio-keys-default-state { 361 pins = "gpio107"; 428 pins = "gpio107"; 362 function = "gpio"; 429 function = "gpio"; 363 430 364 drive-strength = <2>; 431 drive-strength = <2>; 365 bias-pull-up; 432 bias-pull-up; 366 }; 433 }; 367 434 368 gpio_leds_default: gpio-leds-default-s 435 gpio_leds_default: gpio-leds-default-state { 369 pins = "gpio8", "gpio9", "gpio 436 pins = "gpio8", "gpio9", "gpio10"; 370 function = "gpio"; 437 function = "gpio"; 371 438 372 drive-strength = <2>; 439 drive-strength = <2>; 373 bias-disable; 440 bias-disable; 374 }; 441 }; 375 442 376 nfc_default: nfc-default-state { 443 nfc_default: nfc-default-state { 377 pins = "gpio2", "gpio20", "gpi 444 pins = "gpio2", "gpio20", "gpio21"; 378 function = "gpio"; 445 function = "gpio"; 379 446 380 drive-strength = <2>; 447 drive-strength = <2>; 381 bias-disable; 448 bias-disable; 382 }; 449 }; 383 450 384 mag_reset_default: mag-reset-default-s 451 mag_reset_default: mag-reset-default-state { 385 pins = "gpio36"; 452 pins = "gpio36"; 386 function = "gpio"; 453 function = "gpio"; 387 454 388 drive-strength = <2>; 455 drive-strength = <2>; 389 bias-disable; 456 bias-disable; 390 }; 457 }; 391 458 392 prox_irq_default: prox-irq-default-sta 459 prox_irq_default: prox-irq-default-state { 393 pins = "gpio113"; 460 pins = "gpio113"; 394 function = "gpio"; 461 function = "gpio"; 395 462 396 drive-strength = <2>; 463 drive-strength = <2>; 397 bias-disable; 464 bias-disable; 398 }; 465 }; 399 466 400 reg_lcd_en_default: reg-lcd-en-default 467 reg_lcd_en_default: reg-lcd-en-default-state { 401 pins = "gpio32", "gpio97"; 468 pins = "gpio32", "gpio97"; 402 function = "gpio"; 469 function = "gpio"; 403 470 404 drive-strength = <2>; 471 drive-strength = <2>; 405 bias-disable; 472 bias-disable; 406 }; 473 }; 407 474 408 sdc2_cd_default: sdc2-cd-default-state !! 475 sdhc2_cd_default: sdhc2-cd-default-state { 409 pins = "gpio56"; 476 pins = "gpio56"; 410 function = "gpio"; 477 function = "gpio"; 411 478 412 drive-strength = <2>; 479 drive-strength = <2>; 413 bias-disable; 480 bias-disable; 414 }; 481 }; 415 482 416 ts_irq_default: ts-irq-default-state { 483 ts_irq_default: ts-irq-default-state { 417 pins = "gpio13"; 484 pins = "gpio13"; 418 function = "gpio"; 485 function = "gpio"; 419 486 420 drive-strength = <2>; 487 drive-strength = <2>; 421 bias-disable; 488 bias-disable; 422 }; 489 }; 423 490 424 usb_id_default: usb-id-default-state { 491 usb_id_default: usb-id-default-state { 425 pins = "gpio117"; 492 pins = "gpio117"; 426 function = "gpio"; 493 function = "gpio"; 427 494 428 drive-strength = <8>; 495 drive-strength = <8>; 429 bias-pull-up; 496 bias-pull-up; 430 }; 497 }; 431 }; 498 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.