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