1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 #include "qcom-msm8974pro.dtsi" 2 #include "qcom-msm8974pro.dtsi" 3 #include "pma8084.dtsi" 3 #include "pma8084.dtsi" 4 #include <dt-bindings/input/input.h> 4 #include <dt-bindings/input/input.h> 5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h 5 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 6 #include <dt-bindings/leds/common.h> 6 #include <dt-bindings/leds/common.h> 7 7 8 / { 8 / { 9 chassis-type = "handset"; 9 chassis-type = "handset"; 10 10 11 aliases { 11 aliases { 12 serial0 = &blsp1_uart1; 12 serial0 = &blsp1_uart1; 13 mmc0 = &sdhc_1; /* SDC1 eMMC s 13 mmc0 = &sdhc_1; /* SDC1 eMMC slot */ 14 mmc1 = &sdhc_3; /* SDC2 SD car 14 mmc1 = &sdhc_3; /* SDC2 SD card slot */ 15 }; 15 }; 16 16 17 chosen { 17 chosen { 18 stdout-path = "serial0:115200n 18 stdout-path = "serial0:115200n8"; 19 }; 19 }; 20 20 21 gpio-keys { 21 gpio-keys { 22 compatible = "gpio-keys"; 22 compatible = "gpio-keys"; 23 23 24 pinctrl-names = "default"; 24 pinctrl-names = "default"; 25 pinctrl-0 = <&gpio_keys_pin_a> 25 pinctrl-0 = <&gpio_keys_pin_a>; 26 26 27 key-volume-down { 27 key-volume-down { 28 label = "volume_down"; 28 label = "volume_down"; 29 gpios = <&pma8084_gpio 29 gpios = <&pma8084_gpios 2 GPIO_ACTIVE_LOW>; 30 linux,input-type = <1> 30 linux,input-type = <1>; 31 linux,code = <KEY_VOLU 31 linux,code = <KEY_VOLUMEDOWN>; 32 debounce-interval = <1 32 debounce-interval = <15>; 33 }; 33 }; 34 34 35 key-home { 35 key-home { 36 label = "home_key"; 36 label = "home_key"; 37 gpios = <&pma8084_gpio 37 gpios = <&pma8084_gpios 3 GPIO_ACTIVE_LOW>; 38 linux,input-type = <1> 38 linux,input-type = <1>; 39 linux,code = <KEY_HOME 39 linux,code = <KEY_HOMEPAGE>; 40 wakeup-source; 40 wakeup-source; 41 debounce-interval = <1 41 debounce-interval = <15>; 42 }; 42 }; 43 43 44 key-volume-up { 44 key-volume-up { 45 label = "volume_up"; 45 label = "volume_up"; 46 gpios = <&pma8084_gpio 46 gpios = <&pma8084_gpios 5 GPIO_ACTIVE_LOW>; 47 linux,input-type = <1> 47 linux,input-type = <1>; 48 linux,code = <KEY_VOLU 48 linux,code = <KEY_VOLUMEUP>; 49 debounce-interval = <1 49 debounce-interval = <15>; 50 }; 50 }; 51 }; 51 }; 52 52 53 i2c-gpio-touchkey { 53 i2c-gpio-touchkey { 54 compatible = "i2c-gpio"; 54 compatible = "i2c-gpio"; 55 #address-cells = <1>; 55 #address-cells = <1>; 56 #size-cells = <0>; 56 #size-cells = <0>; 57 sda-gpios = <&tlmm 95 (GPIO_AC 57 sda-gpios = <&tlmm 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 58 scl-gpios = <&tlmm 96 (GPIO_AC 58 scl-gpios = <&tlmm 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 59 pinctrl-names = "default"; 59 pinctrl-names = "default"; 60 pinctrl-0 = <&i2c_touchkey_pin 60 pinctrl-0 = <&i2c_touchkey_pins>; 61 61 62 touchkey@20 { 62 touchkey@20 { 63 compatible = "cypress, 63 compatible = "cypress,tm2-touchkey"; 64 reg = <0x20>; 64 reg = <0x20>; 65 65 66 interrupt-parent = <&p 66 interrupt-parent = <&pma8084_gpios>; 67 interrupts = <6 IRQ_TY 67 interrupts = <6 IRQ_TYPE_EDGE_FALLING>; 68 pinctrl-names = "defau 68 pinctrl-names = "default"; 69 pinctrl-0 = <&touchkey 69 pinctrl-0 = <&touchkey_pin>; 70 70 71 vcc-supply = <&max7782 71 vcc-supply = <&max77826_ldo15>; 72 vdd-supply = <&pma8084 72 vdd-supply = <&pma8084_l19>; 73 73 74 linux,keycodes = <KEY_ 74 linux,keycodes = <KEY_APPSELECT KEY_BACK>; 75 }; 75 }; 76 }; 76 }; 77 77 78 i2c_led_gpio: i2c-gpio-led { 78 i2c_led_gpio: i2c-gpio-led { 79 compatible = "i2c-gpio"; 79 compatible = "i2c-gpio"; 80 #address-cells = <1>; 80 #address-cells = <1>; 81 #size-cells = <0>; 81 #size-cells = <0>; 82 pinctrl-names = "default"; 82 pinctrl-names = "default"; 83 pinctrl-0 = <&i2c_led_gpioex_p 83 pinctrl-0 = <&i2c_led_gpioex_pins>; 84 84 85 i2c-gpio,delay-us = <2>; 85 i2c-gpio,delay-us = <2>; 86 86 87 gpio_expander: gpio@20 { 87 gpio_expander: gpio@20 { 88 compatible = "nxp,pcal 88 compatible = "nxp,pcal6416"; 89 reg = <0x20>; 89 reg = <0x20>; 90 90 91 gpio-controller; 91 gpio-controller; 92 #gpio-cells = <2>; 92 #gpio-cells = <2>; 93 93 94 vcc-supply = <&pma8084 94 vcc-supply = <&pma8084_s4>; 95 95 96 pinctrl-names = "defau 96 pinctrl-names = "default"; 97 pinctrl-0 = <&gpioex_p 97 pinctrl-0 = <&gpioex_pin>; 98 98 99 reset-gpios = <&tlmm 1 99 reset-gpios = <&tlmm 145 GPIO_ACTIVE_LOW>; 100 }; 100 }; 101 101 102 led-controller@30 { 102 led-controller@30 { 103 compatible = "panasoni 103 compatible = "panasonic,an30259a"; 104 reg = <0x30>; 104 reg = <0x30>; 105 105 106 #address-cells = <1>; 106 #address-cells = <1>; 107 #size-cells = <0>; 107 #size-cells = <0>; 108 108 109 led@1 { 109 led@1 { 110 reg = <1>; 110 reg = <1>; 111 function = LED 111 function = LED_FUNCTION_STATUS; 112 color = <LED_C 112 color = <LED_COLOR_ID_RED>; 113 }; 113 }; 114 114 115 led@2 { 115 led@2 { 116 reg = <2>; 116 reg = <2>; 117 function = LED 117 function = LED_FUNCTION_STATUS; 118 color = <LED_C 118 color = <LED_COLOR_ID_GREEN>; 119 }; 119 }; 120 120 121 led@3 { 121 led@3 { 122 reg = <3>; 122 reg = <3>; 123 function = LED 123 function = LED_FUNCTION_STATUS; 124 color = <LED_C 124 color = <LED_COLOR_ID_BLUE>; 125 }; 125 }; 126 }; 126 }; 127 }; 127 }; 128 128 129 vreg_wlan: wlan-regulator { 129 vreg_wlan: wlan-regulator { 130 compatible = "regulator-fixed" 130 compatible = "regulator-fixed"; 131 131 132 regulator-name = "wl-reg"; 132 regulator-name = "wl-reg"; 133 regulator-min-microvolt = <330 133 regulator-min-microvolt = <3300000>; 134 regulator-max-microvolt = <330 134 regulator-max-microvolt = <3300000>; 135 135 136 gpio = <&gpio_expander 8 GPIO_ 136 gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>; 137 enable-active-high; 137 enable-active-high; 138 }; 138 }; 139 139 140 vreg_panel: panel-regulator { 140 vreg_panel: panel-regulator { 141 compatible = "regulator-fixed" 141 compatible = "regulator-fixed"; 142 142 143 pinctrl-names = "default"; 143 pinctrl-names = "default"; 144 pinctrl-0 = <&panel_en_pin>; 144 pinctrl-0 = <&panel_en_pin>; 145 145 146 regulator-name = "panel-vddr-r 146 regulator-name = "panel-vddr-reg"; 147 regulator-min-microvolt = <150 147 regulator-min-microvolt = <1500000>; 148 regulator-max-microvolt = <150 148 regulator-max-microvolt = <1500000>; 149 149 150 gpio = <&pma8084_gpios 14 GPIO 150 gpio = <&pma8084_gpios 14 GPIO_ACTIVE_HIGH>; 151 enable-active-high; 151 enable-active-high; 152 }; 152 }; 153 153 154 vreg_vph_pwr: vreg-vph-pwr { 154 vreg_vph_pwr: vreg-vph-pwr { 155 compatible = "regulator-fixed" 155 compatible = "regulator-fixed"; 156 regulator-name = "vph-pwr"; 156 regulator-name = "vph-pwr"; 157 157 158 regulator-min-microvolt = <360 158 regulator-min-microvolt = <3600000>; 159 regulator-max-microvolt = <360 159 regulator-max-microvolt = <3600000>; 160 160 161 regulator-always-on; 161 regulator-always-on; 162 }; 162 }; 163 }; 163 }; 164 164 165 &blsp1_i2c2 { 165 &blsp1_i2c2 { 166 status = "okay"; 166 status = "okay"; 167 167 168 touchscreen@20 { 168 touchscreen@20 { 169 compatible = "syna,rmi4-i2c"; 169 compatible = "syna,rmi4-i2c"; 170 reg = <0x20>; 170 reg = <0x20>; 171 171 172 interrupt-parent = <&pma8084_g 172 interrupt-parent = <&pma8084_gpios>; 173 interrupts = <8 IRQ_TYPE_EDGE_ 173 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 174 174 175 vdd-supply = <&max77826_ldo13> 175 vdd-supply = <&max77826_ldo13>; 176 vio-supply = <&pma8084_lvs2>; 176 vio-supply = <&pma8084_lvs2>; 177 177 178 pinctrl-names = "default"; 178 pinctrl-names = "default"; 179 pinctrl-0 = <&touch_pin>; 179 pinctrl-0 = <&touch_pin>; 180 180 181 syna,startup-delay-ms = <100>; 181 syna,startup-delay-ms = <100>; 182 182 183 #address-cells = <1>; 183 #address-cells = <1>; 184 #size-cells = <0>; 184 #size-cells = <0>; 185 185 186 rmi4-f01@1 { 186 rmi4-f01@1 { 187 reg = <0x1>; 187 reg = <0x1>; 188 syna,nosleep-mode = <1 188 syna,nosleep-mode = <1>; 189 }; 189 }; 190 190 191 rmi4-f12@12 { 191 rmi4-f12@12 { 192 reg = <0x12>; 192 reg = <0x12>; 193 syna,sensor-type = <1> 193 syna,sensor-type = <1>; 194 }; 194 }; 195 }; 195 }; 196 }; 196 }; 197 197 198 &blsp1_i2c6 { 198 &blsp1_i2c6 { 199 status = "okay"; 199 status = "okay"; 200 200 201 pmic@60 { 201 pmic@60 { 202 reg = <0x60>; 202 reg = <0x60>; 203 compatible = "maxim,max77826"; 203 compatible = "maxim,max77826"; 204 204 205 regulators { 205 regulators { 206 max77826_ldo1: LDO1 { 206 max77826_ldo1: LDO1 { 207 regulator-min- 207 regulator-min-microvolt = <1200000>; 208 regulator-max- 208 regulator-max-microvolt = <1200000>; 209 }; 209 }; 210 210 211 max77826_ldo2: LDO2 { 211 max77826_ldo2: LDO2 { 212 regulator-min- 212 regulator-min-microvolt = <1000000>; 213 regulator-max- 213 regulator-max-microvolt = <1000000>; 214 }; 214 }; 215 215 216 max77826_ldo3: LDO3 { 216 max77826_ldo3: LDO3 { 217 regulator-min- 217 regulator-min-microvolt = <1200000>; 218 regulator-max- 218 regulator-max-microvolt = <1200000>; 219 }; 219 }; 220 220 221 max77826_ldo4: LDO4 { 221 max77826_ldo4: LDO4 { 222 regulator-min- 222 regulator-min-microvolt = <1800000>; 223 regulator-max- 223 regulator-max-microvolt = <1800000>; 224 }; 224 }; 225 225 226 max77826_ldo5: LDO5 { 226 max77826_ldo5: LDO5 { 227 regulator-min- 227 regulator-min-microvolt = <1800000>; 228 regulator-max- 228 regulator-max-microvolt = <1800000>; 229 }; 229 }; 230 230 231 max77826_ldo6: LDO6 { 231 max77826_ldo6: LDO6 { 232 regulator-min- 232 regulator-min-microvolt = <1800000>; 233 regulator-max- 233 regulator-max-microvolt = <3300000>; 234 }; 234 }; 235 235 236 max77826_ldo7: LDO7 { 236 max77826_ldo7: LDO7 { 237 regulator-min- 237 regulator-min-microvolt = <1800000>; 238 regulator-max- 238 regulator-max-microvolt = <1800000>; 239 }; 239 }; 240 240 241 max77826_ldo8: LDO8 { 241 max77826_ldo8: LDO8 { 242 regulator-min- 242 regulator-min-microvolt = <1800000>; 243 regulator-max- 243 regulator-max-microvolt = <3300000>; 244 }; 244 }; 245 245 246 max77826_ldo9: LDO9 { 246 max77826_ldo9: LDO9 { 247 regulator-min- 247 regulator-min-microvolt = <1800000>; 248 regulator-max- 248 regulator-max-microvolt = <1800000>; 249 }; 249 }; 250 250 251 max77826_ldo10: LDO10 251 max77826_ldo10: LDO10 { 252 regulator-min- 252 regulator-min-microvolt = <2800000>; 253 regulator-max- 253 regulator-max-microvolt = <2950000>; 254 }; 254 }; 255 255 256 max77826_ldo11: LDO11 256 max77826_ldo11: LDO11 { 257 regulator-min- 257 regulator-min-microvolt = <2700000>; 258 regulator-max- 258 regulator-max-microvolt = <2950000>; 259 }; 259 }; 260 260 261 max77826_ldo12: LDO12 261 max77826_ldo12: LDO12 { 262 regulator-min- 262 regulator-min-microvolt = <2500000>; 263 regulator-max- 263 regulator-max-microvolt = <3300000>; 264 }; 264 }; 265 265 266 max77826_ldo13: LDO13 266 max77826_ldo13: LDO13 { 267 regulator-min- 267 regulator-min-microvolt = <3300000>; 268 regulator-max- 268 regulator-max-microvolt = <3300000>; 269 }; 269 }; 270 270 271 max77826_ldo14: LDO14 271 max77826_ldo14: LDO14 { 272 regulator-min- 272 regulator-min-microvolt = <3300000>; 273 regulator-max- 273 regulator-max-microvolt = <3300000>; 274 }; 274 }; 275 275 276 max77826_ldo15: LDO15 276 max77826_ldo15: LDO15 { 277 regulator-min- 277 regulator-min-microvolt = <1800000>; 278 regulator-max- 278 regulator-max-microvolt = <1800000>; 279 }; 279 }; 280 280 281 max77826_buck: BUCK { 281 max77826_buck: BUCK { 282 regulator-min- 282 regulator-min-microvolt = <1225000>; 283 regulator-max- 283 regulator-max-microvolt = <1225000>; 284 }; 284 }; 285 285 286 max77826_buckboost: BU 286 max77826_buckboost: BUCKBOOST { 287 regulator-min- 287 regulator-min-microvolt = <3400000>; 288 regulator-max- 288 regulator-max-microvolt = <3400000>; 289 }; 289 }; 290 }; 290 }; 291 }; 291 }; 292 }; 292 }; 293 293 294 &blsp1_uart2 { 294 &blsp1_uart2 { 295 status = "okay"; 295 status = "okay"; 296 }; 296 }; 297 297 298 &blsp2_i2c6 { 298 &blsp2_i2c6 { 299 status = "okay"; 299 status = "okay"; 300 300 301 fuelgauge@36 { 301 fuelgauge@36 { 302 compatible = "maxim,max17048"; 302 compatible = "maxim,max17048"; 303 reg = <0x36>; 303 reg = <0x36>; 304 304 305 maxim,double-soc; 305 maxim,double-soc; 306 maxim,rcomp = /bits/ 8 <0x56>; 306 maxim,rcomp = /bits/ 8 <0x56>; 307 307 308 interrupt-parent = <&pma8084_g 308 interrupt-parent = <&pma8084_gpios>; 309 interrupts = <21 IRQ_TYPE_LEVE 309 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 310 310 311 pinctrl-names = "default"; 311 pinctrl-names = "default"; 312 pinctrl-0 = <&fuelgauge_pin>; 312 pinctrl-0 = <&fuelgauge_pin>; 313 }; 313 }; 314 }; 314 }; 315 315 316 &blsp2_uart2 { 316 &blsp2_uart2 { 317 status = "okay"; 317 status = "okay"; 318 318 319 pinctrl-names = "default", "sleep"; 319 pinctrl-names = "default", "sleep"; 320 pinctrl-0 = <&blsp2_uart2_pins_active> 320 pinctrl-0 = <&blsp2_uart2_pins_active>; 321 pinctrl-1 = <&blsp2_uart2_pins_sleep>; 321 pinctrl-1 = <&blsp2_uart2_pins_sleep>; 322 322 323 bluetooth { 323 bluetooth { 324 compatible = "brcm,bcm43540-bt 324 compatible = "brcm,bcm43540-bt"; 325 max-speed = <3000000>; 325 max-speed = <3000000>; 326 pinctrl-names = "default"; 326 pinctrl-names = "default"; 327 pinctrl-0 = <&bt_pins>; 327 pinctrl-0 = <&bt_pins>; 328 device-wakeup-gpios = <&tlmm 9 328 device-wakeup-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>; 329 shutdown-gpios = <&gpio_expand 329 shutdown-gpios = <&gpio_expander 9 GPIO_ACTIVE_HIGH>; 330 interrupt-parent = <&tlmm>; 330 interrupt-parent = <&tlmm>; 331 interrupts = <75 IRQ_TYPE_LEVE 331 interrupts = <75 IRQ_TYPE_LEVEL_HIGH>; 332 interrupt-names = "host-wakeup 332 interrupt-names = "host-wakeup"; 333 }; 333 }; 334 }; 334 }; 335 335 336 &gpu { 336 &gpu { 337 status = "okay"; 337 status = "okay"; 338 }; 338 }; 339 339 340 &mdss { 340 &mdss { 341 status = "okay"; 341 status = "okay"; 342 }; 342 }; 343 343 344 &mdss_dsi0 { 344 &mdss_dsi0 { 345 status = "okay"; 345 status = "okay"; 346 346 347 vdda-supply = <&pma8084_l2>; 347 vdda-supply = <&pma8084_l2>; 348 vdd-supply = <&pma8084_l22>; 348 vdd-supply = <&pma8084_l22>; 349 vddio-supply = <&pma8084_l12>; 349 vddio-supply = <&pma8084_l12>; 350 350 351 panel: panel@0 { 351 panel: panel@0 { 352 reg = <0>; 352 reg = <0>; 353 compatible = "samsung,s6e3fa2" 353 compatible = "samsung,s6e3fa2"; 354 354 355 pinctrl-names = "default"; 355 pinctrl-names = "default"; 356 pinctrl-0 = <&panel_te_pin &pa 356 pinctrl-0 = <&panel_te_pin &panel_rst_pin>; 357 357 358 iovdd-supply = <&pma8084_lvs4> 358 iovdd-supply = <&pma8084_lvs4>; 359 vddr-supply = <&vreg_panel>; 359 vddr-supply = <&vreg_panel>; 360 360 361 reset-gpios = <&pma8084_gpios 361 reset-gpios = <&pma8084_gpios 17 GPIO_ACTIVE_LOW>; 362 362 363 port { 363 port { 364 panel_in: endpoint { 364 panel_in: endpoint { 365 remote-endpoin 365 remote-endpoint = <&mdss_dsi0_out>; 366 }; 366 }; 367 }; 367 }; 368 }; 368 }; 369 }; 369 }; 370 370 371 &mdss_dsi0_out { 371 &mdss_dsi0_out { 372 remote-endpoint = <&panel_in>; 372 remote-endpoint = <&panel_in>; 373 data-lanes = <0 1 2 3>; 373 data-lanes = <0 1 2 3>; 374 }; 374 }; 375 375 376 &mdss_dsi0_phy { 376 &mdss_dsi0_phy { 377 status = "okay"; 377 status = "okay"; 378 378 379 vddio-supply = <&pma8084_l12>; 379 vddio-supply = <&pma8084_l12>; 380 }; 380 }; 381 381 382 &pma8084_gpios { 382 &pma8084_gpios { 383 gpio_keys_pin_a: gpio-keys-active-stat 383 gpio_keys_pin_a: gpio-keys-active-state { 384 pins = "gpio2", "gpio3", "gpio 384 pins = "gpio2", "gpio3", "gpio5"; 385 function = "normal"; 385 function = "normal"; 386 386 387 bias-pull-up; 387 bias-pull-up; 388 power-source = <PMA8084_GPIO_S 388 power-source = <PMA8084_GPIO_S4>; 389 }; 389 }; 390 390 391 touchkey_pin: touchkey-int-state { 391 touchkey_pin: touchkey-int-state { 392 pins = "gpio6"; 392 pins = "gpio6"; 393 function = "normal"; 393 function = "normal"; 394 bias-disable; 394 bias-disable; 395 input-enable; 395 input-enable; 396 power-source = <PMA8084_GPIO_S 396 power-source = <PMA8084_GPIO_S4>; 397 }; 397 }; 398 398 399 touch_pin: touchscreen-int-state { 399 touch_pin: touchscreen-int-state { 400 pins = "gpio8"; 400 pins = "gpio8"; 401 function = "normal"; 401 function = "normal"; 402 bias-disable; 402 bias-disable; 403 input-enable; 403 input-enable; 404 power-source = <PMA8084_GPIO_S 404 power-source = <PMA8084_GPIO_S4>; 405 }; 405 }; 406 406 407 panel_en_pin: panel-en-state { 407 panel_en_pin: panel-en-state { 408 pins = "gpio14"; 408 pins = "gpio14"; 409 function = "normal"; 409 function = "normal"; 410 bias-pull-up; 410 bias-pull-up; 411 power-source = <PMA8084_GPIO_S 411 power-source = <PMA8084_GPIO_S4>; 412 qcom,drive-strength = <PMIC_GP 412 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 413 }; 413 }; 414 414 415 wlan_sleep_clk_pin: wlan-sleep-clk-sta 415 wlan_sleep_clk_pin: wlan-sleep-clk-state { 416 pins = "gpio16"; 416 pins = "gpio16"; 417 function = "func2"; 417 function = "func2"; 418 418 419 output-high; 419 output-high; 420 power-source = <PMA8084_GPIO_S 420 power-source = <PMA8084_GPIO_S4>; 421 qcom,drive-strength = <PMIC_GP 421 qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>; 422 }; 422 }; 423 423 424 panel_rst_pin: panel-rst-state { 424 panel_rst_pin: panel-rst-state { 425 pins = "gpio17"; 425 pins = "gpio17"; 426 function = "normal"; 426 function = "normal"; 427 bias-disable; 427 bias-disable; 428 power-source = <PMA8084_GPIO_S 428 power-source = <PMA8084_GPIO_S4>; 429 qcom,drive-strength = <PMIC_GP 429 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 430 }; 430 }; 431 431 432 fuelgauge_pin: fuelgauge-int-state { 432 fuelgauge_pin: fuelgauge-int-state { 433 pins = "gpio21"; 433 pins = "gpio21"; 434 function = "normal"; 434 function = "normal"; 435 bias-disable; 435 bias-disable; 436 input-enable; 436 input-enable; 437 power-source = <PMA8084_GPIO_S 437 power-source = <PMA8084_GPIO_S4>; 438 }; 438 }; 439 }; 439 }; 440 440 441 &reserved_memory { 441 &reserved_memory { 442 ramoops@3e8e0000 { 442 ramoops@3e8e0000 { 443 compatible = "ramoops"; 443 compatible = "ramoops"; 444 reg = <0x3e8e0000 0x200000>; 444 reg = <0x3e8e0000 0x200000>; 445 445 446 console-size = <0x100000>; 446 console-size = <0x100000>; 447 record-size = <0x10000>; 447 record-size = <0x10000>; 448 ftrace-size = <0x10000>; 448 ftrace-size = <0x10000>; 449 pmsg-size = <0x80000>; 449 pmsg-size = <0x80000>; 450 ecc-size = <8>; 450 ecc-size = <8>; 451 }; 451 }; 452 }; 452 }; 453 453 454 &remoteproc_adsp { 454 &remoteproc_adsp { 455 status = "okay"; 455 status = "okay"; 456 cx-supply = <&pma8084_s2>; 456 cx-supply = <&pma8084_s2>; 457 }; 457 }; 458 458 459 &remoteproc_mss { 459 &remoteproc_mss { 460 status = "okay"; 460 status = "okay"; 461 cx-supply = <&pma8084_s2>; 461 cx-supply = <&pma8084_s2>; 462 mss-supply = <&pma8084_s6>; 462 mss-supply = <&pma8084_s6>; 463 mx-supply = <&pma8084_s1>; 463 mx-supply = <&pma8084_s1>; 464 pll-supply = <&pma8084_l12>; 464 pll-supply = <&pma8084_l12>; 465 }; 465 }; 466 466 467 &rpm_requests { 467 &rpm_requests { 468 regulators-0 { 468 regulators-0 { 469 compatible = "qcom,rpm-pma8084 469 compatible = "qcom,rpm-pma8084-regulators"; 470 470 471 pma8084_s1: s1 { 471 pma8084_s1: s1 { 472 regulator-min-microvol 472 regulator-min-microvolt = <675000>; 473 regulator-max-microvol 473 regulator-max-microvolt = <1050000>; 474 regulator-always-on; 474 regulator-always-on; 475 }; 475 }; 476 476 477 pma8084_s2: s2 { 477 pma8084_s2: s2 { 478 regulator-min-microvol 478 regulator-min-microvolt = <500000>; 479 regulator-max-microvol 479 regulator-max-microvolt = <1050000>; 480 }; 480 }; 481 481 482 pma8084_s3: s3 { 482 pma8084_s3: s3 { 483 regulator-min-microvol 483 regulator-min-microvolt = <1300000>; 484 regulator-max-microvol 484 regulator-max-microvolt = <1300000>; 485 }; 485 }; 486 486 487 pma8084_s4: s4 { 487 pma8084_s4: s4 { 488 regulator-min-microvol 488 regulator-min-microvolt = <1800000>; 489 regulator-max-microvol 489 regulator-max-microvolt = <1800000>; 490 }; 490 }; 491 491 492 pma8084_s5: s5 { 492 pma8084_s5: s5 { 493 regulator-min-microvol 493 regulator-min-microvolt = <2150000>; 494 regulator-max-microvol 494 regulator-max-microvolt = <2150000>; 495 }; 495 }; 496 496 497 pma8084_s6: s6 { 497 pma8084_s6: s6 { 498 regulator-min-microvol 498 regulator-min-microvolt = <1050000>; 499 regulator-max-microvol 499 regulator-max-microvolt = <1050000>; 500 }; 500 }; 501 501 502 pma8084_l1: l1 { 502 pma8084_l1: l1 { 503 regulator-min-microvol 503 regulator-min-microvolt = <1225000>; 504 regulator-max-microvol 504 regulator-max-microvolt = <1225000>; 505 }; 505 }; 506 506 507 pma8084_l2: l2 { 507 pma8084_l2: l2 { 508 regulator-min-microvol 508 regulator-min-microvolt = <1200000>; 509 regulator-max-microvol 509 regulator-max-microvolt = <1200000>; 510 }; 510 }; 511 511 512 pma8084_l3: l3 { 512 pma8084_l3: l3 { 513 regulator-min-microvol 513 regulator-min-microvolt = <1050000>; 514 regulator-max-microvol 514 regulator-max-microvolt = <1200000>; 515 }; 515 }; 516 516 517 pma8084_l4: l4 { 517 pma8084_l4: l4 { 518 regulator-min-microvol 518 regulator-min-microvolt = <1200000>; 519 regulator-max-microvol 519 regulator-max-microvolt = <1225000>; 520 }; 520 }; 521 521 522 pma8084_l5: l5 { 522 pma8084_l5: l5 { 523 regulator-min-microvol 523 regulator-min-microvolt = <1800000>; 524 regulator-max-microvol 524 regulator-max-microvolt = <1800000>; 525 }; 525 }; 526 526 527 pma8084_l6: l6 { 527 pma8084_l6: l6 { 528 regulator-min-microvol 528 regulator-min-microvolt = <1800000>; 529 regulator-max-microvol 529 regulator-max-microvolt = <1800000>; 530 }; 530 }; 531 531 532 pma8084_l7: l7 { 532 pma8084_l7: l7 { 533 regulator-min-microvol 533 regulator-min-microvolt = <1800000>; 534 regulator-max-microvol 534 regulator-max-microvolt = <1800000>; 535 }; 535 }; 536 536 537 pma8084_l8: l8 { 537 pma8084_l8: l8 { 538 regulator-min-microvol 538 regulator-min-microvolt = <1800000>; 539 regulator-max-microvol 539 regulator-max-microvolt = <1800000>; 540 }; 540 }; 541 541 542 pma8084_l9: l9 { 542 pma8084_l9: l9 { 543 regulator-min-microvol 543 regulator-min-microvolt = <1800000>; 544 regulator-max-microvol 544 regulator-max-microvolt = <2950000>; 545 }; 545 }; 546 546 547 pma8084_l10: l10 { 547 pma8084_l10: l10 { 548 regulator-min-microvol 548 regulator-min-microvolt = <1800000>; 549 regulator-max-microvol 549 regulator-max-microvolt = <2950000>; 550 }; 550 }; 551 551 552 pma8084_l11: l11 { 552 pma8084_l11: l11 { 553 regulator-min-microvol 553 regulator-min-microvolt = <1300000>; 554 regulator-max-microvol 554 regulator-max-microvolt = <1300000>; 555 }; 555 }; 556 556 557 pma8084_l12: l12 { 557 pma8084_l12: l12 { 558 regulator-min-microvol 558 regulator-min-microvolt = <1800000>; 559 regulator-max-microvol 559 regulator-max-microvolt = <1800000>; 560 regulator-always-on; 560 regulator-always-on; 561 }; 561 }; 562 562 563 pma8084_l13: l13 { 563 pma8084_l13: l13 { 564 regulator-min-microvol 564 regulator-min-microvolt = <1800000>; 565 regulator-max-microvol 565 regulator-max-microvolt = <2950000>; 566 }; 566 }; 567 567 568 pma8084_l14: l14 { 568 pma8084_l14: l14 { 569 regulator-min-microvol 569 regulator-min-microvolt = <1800000>; 570 regulator-max-microvol 570 regulator-max-microvolt = <1800000>; 571 }; 571 }; 572 572 573 pma8084_l15: l15 { 573 pma8084_l15: l15 { 574 regulator-min-microvol 574 regulator-min-microvolt = <2050000>; 575 regulator-max-microvol 575 regulator-max-microvolt = <2050000>; 576 }; 576 }; 577 577 578 pma8084_l16: l16 { 578 pma8084_l16: l16 { 579 regulator-min-microvol 579 regulator-min-microvolt = <2700000>; 580 regulator-max-microvol 580 regulator-max-microvolt = <2700000>; 581 }; 581 }; 582 582 583 pma8084_l17: l17 { 583 pma8084_l17: l17 { 584 regulator-min-microvol 584 regulator-min-microvolt = <2850000>; 585 regulator-max-microvol 585 regulator-max-microvolt = <2850000>; 586 }; 586 }; 587 587 588 pma8084_l18: l18 { 588 pma8084_l18: l18 { 589 regulator-min-microvol 589 regulator-min-microvolt = <2850000>; 590 regulator-max-microvol 590 regulator-max-microvolt = <2850000>; 591 }; 591 }; 592 592 593 pma8084_l19: l19 { 593 pma8084_l19: l19 { 594 regulator-min-microvol 594 regulator-min-microvolt = <3300000>; 595 regulator-max-microvol 595 regulator-max-microvolt = <3300000>; 596 }; 596 }; 597 597 598 pma8084_l20: l20 { 598 pma8084_l20: l20 { 599 regulator-min-microvol 599 regulator-min-microvolt = <2950000>; 600 regulator-max-microvol 600 regulator-max-microvolt = <2950000>; 601 regulator-system-load 601 regulator-system-load = <200000>; 602 regulator-allow-set-lo 602 regulator-allow-set-load; 603 }; 603 }; 604 604 605 pma8084_l21: l21 { 605 pma8084_l21: l21 { 606 regulator-min-microvol 606 regulator-min-microvolt = <2950000>; 607 regulator-max-microvol 607 regulator-max-microvolt = <2950000>; 608 regulator-system-load 608 regulator-system-load = <200000>; 609 regulator-allow-set-lo 609 regulator-allow-set-load; 610 }; 610 }; 611 611 612 pma8084_l22: l22 { 612 pma8084_l22: l22 { 613 regulator-min-microvol 613 regulator-min-microvolt = <3000000>; 614 regulator-max-microvol 614 regulator-max-microvolt = <3300000>; 615 }; 615 }; 616 616 617 pma8084_l23: l23 { 617 pma8084_l23: l23 { 618 regulator-min-microvol 618 regulator-min-microvolt = <3000000>; 619 regulator-max-microvol 619 regulator-max-microvolt = <3000000>; 620 }; 620 }; 621 621 622 pma8084_l24: l24 { 622 pma8084_l24: l24 { 623 regulator-min-microvol 623 regulator-min-microvolt = <3075000>; 624 regulator-max-microvol 624 regulator-max-microvolt = <3075000>; 625 }; 625 }; 626 626 627 pma8084_l25: l25 { 627 pma8084_l25: l25 { 628 regulator-min-microvol 628 regulator-min-microvolt = <2100000>; 629 regulator-max-microvol 629 regulator-max-microvolt = <2100000>; 630 }; 630 }; 631 631 632 pma8084_l26: l26 { 632 pma8084_l26: l26 { 633 regulator-min-microvol 633 regulator-min-microvolt = <1800000>; 634 regulator-max-microvol 634 regulator-max-microvolt = <2050000>; 635 }; 635 }; 636 636 637 pma8084_l27: l27 { 637 pma8084_l27: l27 { 638 regulator-min-microvol 638 regulator-min-microvolt = <1000000>; 639 regulator-max-microvol 639 regulator-max-microvolt = <1225000>; 640 }; 640 }; 641 641 642 pma8084_lvs1: lvs1 {}; 642 pma8084_lvs1: lvs1 {}; 643 pma8084_lvs2: lvs2 {}; 643 pma8084_lvs2: lvs2 {}; 644 pma8084_lvs3: lvs3 {}; 644 pma8084_lvs3: lvs3 {}; 645 pma8084_lvs4: lvs4 {}; 645 pma8084_lvs4: lvs4 {}; 646 646 647 pma8084_5vs1: 5vs1 {}; 647 pma8084_5vs1: 5vs1 {}; 648 }; 648 }; 649 }; 649 }; 650 650 651 &sdhc_1 { 651 &sdhc_1 { 652 status = "okay"; 652 status = "okay"; 653 653 654 vmmc-supply = <&pma8084_l20>; 654 vmmc-supply = <&pma8084_l20>; 655 vqmmc-supply = <&pma8084_s4>; 655 vqmmc-supply = <&pma8084_s4>; 656 656 657 pinctrl-names = "default", "sleep"; 657 pinctrl-names = "default", "sleep"; 658 pinctrl-0 = <&sdc1_on>; 658 pinctrl-0 = <&sdc1_on>; 659 pinctrl-1 = <&sdc1_off>; 659 pinctrl-1 = <&sdc1_off>; 660 }; 660 }; 661 661 662 &sdhc_2 { 662 &sdhc_2 { 663 status = "okay"; 663 status = "okay"; 664 max-frequency = <100000000>; 664 max-frequency = <100000000>; 665 vmmc-supply = <&vreg_wlan>; 665 vmmc-supply = <&vreg_wlan>; 666 vqmmc-supply = <&pma8084_s4>; 666 vqmmc-supply = <&pma8084_s4>; 667 non-removable; 667 non-removable; 668 668 669 pinctrl-names = "default", "sleep"; 669 pinctrl-names = "default", "sleep"; 670 pinctrl-0 = <&sdc2_on>; 670 pinctrl-0 = <&sdc2_on>; 671 pinctrl-1 = <&sdc2_off>; 671 pinctrl-1 = <&sdc2_off>; 672 672 673 wifi@1 { 673 wifi@1 { 674 reg = <1>; 674 reg = <1>; 675 compatible = "brcm,bcm4329-fma 675 compatible = "brcm,bcm4329-fmac"; 676 676 677 /* 677 /* 678 * Allow all klte* variants to 678 * Allow all klte* variants to load the same NVRAM file, 679 * as they have little differe 679 * as they have little difference in the WiFi part. 680 */ 680 */ 681 brcm,board-type = "samsung,klt 681 brcm,board-type = "samsung,klte"; 682 682 683 interrupt-parent = <&tlmm>; 683 interrupt-parent = <&tlmm>; 684 interrupts = <92 IRQ_TYPE_LEVE 684 interrupts = <92 IRQ_TYPE_LEVEL_HIGH>; 685 interrupt-names = "host-wake"; 685 interrupt-names = "host-wake"; 686 686 687 pinctrl-names = "default"; 687 pinctrl-names = "default"; 688 pinctrl-0 = <&wlan_sleep_clk_p 688 pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>; 689 }; 689 }; 690 }; 690 }; 691 691 692 &sdhc_3 { 692 &sdhc_3 { 693 status = "okay"; 693 status = "okay"; 694 max-frequency = <100000000>; 694 max-frequency = <100000000>; 695 vmmc-supply = <&pma8084_l21>; 695 vmmc-supply = <&pma8084_l21>; 696 vqmmc-supply = <&pma8084_l13>; 696 vqmmc-supply = <&pma8084_l13>; 697 697 698 /* 698 /* 699 * cd-gpio is intentionally disabled. 699 * cd-gpio is intentionally disabled. If enabled, an SD card 700 * present during boot is not initiali 700 * present during boot is not initialized correctly. Without 701 * cd-gpios the driver resorts to poll 701 * cd-gpios the driver resorts to polling, so hotplug works. 702 */ 702 */ 703 pinctrl-names = "default"; 703 pinctrl-names = "default"; 704 pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin 704 pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>; 705 /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LO 705 /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */ 706 }; 706 }; 707 707 708 &tlmm { 708 &tlmm { 709 /* This seems suspicious, but somebody 709 /* This seems suspicious, but somebody with this device should look into it. */ 710 blsp2_uart2_pins_active: blsp2-uart2-p 710 blsp2_uart2_pins_active: blsp2-uart2-pins-active-state { 711 pins = "gpio45", "gpio46", "gp 711 pins = "gpio45", "gpio46", "gpio47", "gpio48"; 712 function = "blsp_uart8"; 712 function = "blsp_uart8"; 713 drive-strength = <8>; 713 drive-strength = <8>; 714 bias-disable; 714 bias-disable; 715 }; 715 }; 716 716 717 blsp2_uart2_pins_sleep: blsp2-uart2-pi 717 blsp2_uart2_pins_sleep: blsp2-uart2-pins-sleep-state { 718 pins = "gpio45", "gpio46", "gp 718 pins = "gpio45", "gpio46", "gpio47", "gpio48"; 719 function = "gpio"; 719 function = "gpio"; 720 drive-strength = <2>; 720 drive-strength = <2>; 721 bias-pull-down; 721 bias-pull-down; 722 }; 722 }; 723 723 724 bt_pins: bt-pins-state { 724 bt_pins: bt-pins-state { 725 hostwake-pins { 725 hostwake-pins { 726 pins = "gpio75"; 726 pins = "gpio75"; 727 function = "gpio"; 727 function = "gpio"; 728 drive-strength = <16>; 728 drive-strength = <16>; 729 }; 729 }; 730 730 731 devwake-pins { 731 devwake-pins { 732 pins = "gpio91"; 732 pins = "gpio91"; 733 function = "gpio"; 733 function = "gpio"; 734 drive-strength = <2>; 734 drive-strength = <2>; 735 }; 735 }; 736 }; 736 }; 737 737 738 sdc1_on: sdhc1-on-state { 738 sdc1_on: sdhc1-on-state { 739 clk-pins { 739 clk-pins { 740 pins = "sdc1_clk"; 740 pins = "sdc1_clk"; 741 drive-strength = <4>; 741 drive-strength = <4>; 742 bias-disable; 742 bias-disable; 743 }; 743 }; 744 744 745 cmd-data-pins { 745 cmd-data-pins { 746 pins = "sdc1_cmd", "sd 746 pins = "sdc1_cmd", "sdc1_data"; 747 drive-strength = <4>; 747 drive-strength = <4>; 748 bias-pull-up; 748 bias-pull-up; 749 }; 749 }; 750 }; 750 }; 751 751 752 sdc3_on: sdc3-on-state { 752 sdc3_on: sdc3-on-state { 753 pins = "gpio35", "gpio36", "gp 753 pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40"; 754 function = "sdc3"; 754 function = "sdc3"; 755 drive-strength = <8>; 755 drive-strength = <8>; 756 bias-disable; 756 bias-disable; 757 }; 757 }; 758 758 759 sdhc3_cd_pin: sdc3-cd-on-state { 759 sdhc3_cd_pin: sdc3-cd-on-state { 760 pins = "gpio62"; 760 pins = "gpio62"; 761 function = "gpio"; 761 function = "gpio"; 762 762 763 drive-strength = <2>; 763 drive-strength = <2>; 764 bias-disable; 764 bias-disable; 765 }; 765 }; 766 766 767 sdc2_on: sdhc2-on-state { 767 sdc2_on: sdhc2-on-state { 768 clk-pins { 768 clk-pins { 769 pins = "sdc2_clk"; 769 pins = "sdc2_clk"; 770 drive-strength = <6>; 770 drive-strength = <6>; 771 bias-disable; 771 bias-disable; 772 }; 772 }; 773 773 774 cmd-data-pins { 774 cmd-data-pins { 775 pins = "sdc2_cmd", "sd 775 pins = "sdc2_cmd", "sdc2_data"; 776 drive-strength = <6>; 776 drive-strength = <6>; 777 bias-pull-up; 777 bias-pull-up; 778 }; 778 }; 779 }; 779 }; 780 780 781 i2c_touchkey_pins: i2c-touchkey-state 781 i2c_touchkey_pins: i2c-touchkey-state { 782 pins = "gpio95", "gpio96"; 782 pins = "gpio95", "gpio96"; 783 function = "gpio"; 783 function = "gpio"; 784 bias-pull-up; 784 bias-pull-up; 785 }; 785 }; 786 786 787 i2c_led_gpioex_pins: i2c-led-gpioex-st 787 i2c_led_gpioex_pins: i2c-led-gpioex-state { 788 function = "gpio"; 788 function = "gpio"; 789 bias-pull-down; 789 bias-pull-down; 790 }; 790 }; 791 791 792 gpioex_pin: gpioex-state { 792 gpioex_pin: gpioex-state { 793 pins = "gpio145"; 793 pins = "gpio145"; 794 function = "gpio"; 794 function = "gpio"; 795 bias-pull-up; 795 bias-pull-up; 796 drive-strength = <2>; 796 drive-strength = <2>; 797 }; 797 }; 798 798 799 wifi_pin: wifi-state { 799 wifi_pin: wifi-state { 800 pins = "gpio92"; 800 pins = "gpio92"; 801 function = "gpio"; 801 function = "gpio"; 802 bias-pull-down; 802 bias-pull-down; 803 }; 803 }; 804 804 805 panel_te_pin: panel-state { 805 panel_te_pin: panel-state { 806 pins = "gpio12"; 806 pins = "gpio12"; 807 function = "mdp_vsync"; 807 function = "mdp_vsync"; 808 drive-strength = <2>; 808 drive-strength = <2>; 809 bias-disable; 809 bias-disable; 810 }; 810 }; 811 }; 811 }; 812 812 813 &usb { 813 &usb { 814 status = "okay"; 814 status = "okay"; 815 815 816 phys = <&usb_hs1_phy>; 816 phys = <&usb_hs1_phy>; 817 phy-select = <&tcsr 0xb000 0>; 817 phy-select = <&tcsr 0xb000 0>; 818 818 819 hnp-disable; 819 hnp-disable; 820 srp-disable; 820 srp-disable; 821 adp-disable; 821 adp-disable; 822 }; 822 }; 823 823 824 &usb_hs1_phy { 824 &usb_hs1_phy { 825 status = "okay"; 825 status = "okay"; 826 826 827 v1p8-supply = <&pma8084_l6>; 827 v1p8-supply = <&pma8084_l6>; 828 v3p3-supply = <&pma8084_l24>; 828 v3p3-supply = <&pma8084_l24>; 829 829 830 qcom,init-seq = /bits/ 8 <0x1 0x64>; 830 qcom,init-seq = /bits/ 8 <0x1 0x64>; 831 }; 831 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.