Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: qcom: msm8974-hammerhead: add USB OTG support

Add the device tree bindings for USB OTG support. Driver was tested
using on a LG Nexus 5 (hammerhead) phone. This patch is based on work
from Jonathan Marek and from the other msm8974 devices.

Signed-off-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>

authored by

Brian Masney and committed by
Andy Gross
fb143fcb cdd3d64d

+71
+60
arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
··· 270 270 }; 271 271 }; 272 272 273 + i2c1_pins: i2c1 { 274 + mux { 275 + pins = "gpio2", "gpio3"; 276 + function = "blsp_i2c1"; 277 + 278 + drive-strength = <2>; 279 + bias-disable; 280 + }; 281 + }; 282 + 273 283 i2c3_pins: i2c3 { 274 284 mux { 275 285 pins = "gpio10", "gpio11"; ··· 406 396 }; 407 397 }; 408 398 399 + i2c@f9923000 { 400 + status = "ok"; 401 + pinctrl-names = "default"; 402 + pinctrl-0 = <&i2c1_pins>; 403 + clock-frequency = <100000>; 404 + qcom,src-freq = <50000000>; 405 + 406 + charger: bq24192@6b { 407 + compatible = "ti,bq24192"; 408 + reg = <0x6b>; 409 + interrupts-extended = <&spmi_bus 0 0xd5 0 IRQ_TYPE_EDGE_FALLING>; 410 + 411 + omit-battery-class; 412 + 413 + usb_otg_vbus: usb-otg-vbus { }; 414 + }; 415 + }; 416 + 409 417 i2c@f9925000 { 410 418 status = "ok"; 411 419 pinctrl-names = "default"; ··· 439 411 vddio-supply = <&pm8941_lvs1>; 440 412 led-max-microamp = <100000>; 441 413 amstaos,proximity-diodes = <0>; 414 + }; 415 + }; 416 + 417 + usb@f9a55000 { 418 + status = "ok"; 419 + 420 + phys = <&usb_hs1_phy>; 421 + phy-select = <&tcsr 0xb000 0>; 422 + 423 + extcon = <&charger>, <&usb_id>; 424 + vbus-supply = <&usb_otg_vbus>; 425 + 426 + hnp-disable; 427 + srp-disable; 428 + adp-disable; 429 + 430 + ulpi { 431 + phy@a { 432 + status = "ok"; 433 + 434 + v1p8-supply = <&pm8941_l6>; 435 + v3p3-supply = <&pm8941_l24>; 436 + 437 + qcom,init-seq = /bits/ 8 <0x1 0x64>; 438 + }; 442 439 }; 443 440 }; 444 441 }; ··· 493 440 494 441 bias-disable; 495 442 power-source = <PM8941_GPIO_S3>; 443 + }; 444 + 445 + otg { 446 + gpio-hog; 447 + gpios = <35 GPIO_ACTIVE_HIGH>; 448 + output-high; 449 + line-name = "otg-gpio"; 496 450 }; 497 451 }; 498 452 };
+11
arch/arm/boot/dts/qcom-msm8974.dtsi
··· 706 706 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 707 707 }; 708 708 709 + i2c@f9923000 { 710 + status = "disabled"; 711 + compatible = "qcom,i2c-qup-v2.1.1"; 712 + reg = <0xf9923000 0x1000>; 713 + interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 714 + clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 715 + clock-names = "core", "iface"; 716 + #address-cells = <1>; 717 + #size-cells = <0>; 718 + }; 719 + 709 720 i2c@f9924000 { 710 721 status = "disabled"; 711 722 compatible = "qcom,i2c-qup-v2.1.1";