Qualcomm Device Tree Changes for v4.13

* Fix IPQ4019 i2c0 node
 * Add GSBI7 on IPQ8064
 * Add misc APQ8060 devices
 * Fixup USB related devices on APQ8064 and MSM8974
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZQBRbAAoJEFKiBbHx2RXV3coP/R9aQZy2x4tbkEm8YuUIJbkI
 Jiw3ACIw74UoAiGBJ2JqCDDBegY8ZY2x+7ttgCWrqdqT9eU8ktlw0Uy/9SitxVMD
 SrM2IygKVQiIZy7xIDBAZe4+OYCJk17HJZtl6jt9IYSNTTvkot0V4pePNu6pg4sH
 OIg4l6au3jT483pPu3faHzPc7NU7BECT67u3JWpJdHSIE3kXaFFySIUNK+YmR37H
 hTpHxCBoIPQSc3zTzbLSYpGA46sB2eIKjk1cQpyvOrITzL+W1pRs0OSEkY7pJJPX
 Mm7HfGRxL6tNHWZ6KiB8QrEx2/PemSmXVKzluebyN2a4JBrBZGhSrFagSOLoye3E
 eVnOZsBQL2yosgjKEUcH+K1wRHSjgFJAcmnWaY5DQUqieAjzuHPp1Y+ePUkkB3m5
 w/xEVxNVxhRp2Id4gxn52/VNbkhzh3MhPr+ILdZlGUIZPC9PGfNpoGx53/YJB2xh
 ZBq3HMAR81f1tTOgRErN54Kl7R2NtXLCVTjP2gCIKRiC7QgSn64/ysWijZEA8a3O
 7jyfR87LJuxQda0uOz41abyvm9cGlc2AL+kSOqWgKYNKyqNahIwCrDYtoYStGxvs
 34V6lzZ4rFYP3LqP3gXAROiqp/yt6g6U0YS3YOiunYIIfZeF6FmpLuUK8YTc4EqD
 5TBr7HLNEAwz2SxmpAsW
 =ynzd
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt

Qualcomm Device Tree Changes for v4.13

* Fix IPQ4019 i2c0 node
* Add GSBI7 on IPQ8064
* Add misc APQ8060 devices
* Fixup USB related devices on APQ8064 and MSM8974

* tag 'qcom-dts-for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: add core I2C devices to the APQ8060 Dragonboard
  ARM: dts: add GSBI8 defines to the MSM8660 family
  ARM: dts: Qualcomm APQ8060 DragonBoard ALS sensor
  ARM: dts: add XOADC and IIO HWMON to MSM8660/APQ8060
  ARM: dts: qcom: ipq4019: fix i2c_0 node
  ARM: dts: qcom: add gsbi7 serial to ipq8064 SoC device tree
  ARM: dts: qcom-apq8064: Collapse usb support into one node
  ARM: dts: qcom-msm8974: Add HS usb node and OTG detection mechanisms
  ARM: dts: qcom: add charger otg regulator
  ARM: dts: qcom: Remove s4/5vs1,2 from RPM pm8941 control

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2017-06-18 22:37:31 -07:00
commit bf671ec65a
14 changed files with 512 additions and 183 deletions

View File

@ -23,6 +23,7 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
#include "qcom-msm8660.dtsi"
/ {
@ -83,6 +84,25 @@
};
};
/*
* Capella CM3605 light and proximity sensor mounted directly
* on the sensor board.
*/
cm3605 {
compatible = "capella,cm3605";
vdd-supply = <&pm8058_l14>; // 2.85V
aset-gpios = <&pm8058_gpio 35 GPIO_ACTIVE_LOW>;
capella,aset-resistance-ohms = <100000>;
/* GPIO34 has interrupt 225 on the PM8058 */
/* Trig on both edges - getting close or far away */
interrupts-extended = <&pm8058 225 IRQ_TYPE_EDGE_BOTH>;
/* MPP05 analog input to the XOADC */
io-channels = <&xoadc 0x00 0x05>;
io-channel-names = "aout";
pinctrl-names = "default";
pinctrl-0 = <&dragon_cm3605_gpios>, <&dragon_cm3605_mpps>;
};
soc {
pinctrl@800000 {
/* eMMMC pins, all 8 data lines connected */
@ -160,6 +180,19 @@
};
};
dragon_gsbi8_i2c_pins: gsbi8_i2c {
mux {
pins = "gpio64", "gpio65";
function = "gsbi8";
};
pinconf {
pins = "gpio64", "gpio65";
drive-strength = <16>;
/* These have external pull-up 2.2kOhm to 1.8V */
bias-disable;
};
};
dragon_gsbi12_i2c_pins: gsbi12_i2c {
mux {
pins = "gpio115", "gpio116";
@ -317,6 +350,24 @@
power-source = <PM8058_GPIO_S3>;
};
};
dragon_cm3605_gpios: cm3605-gpios {
/* Pin 34 connected to the proxy IRQ */
pinconf_gpio34 {
pins = "gpio34";
function = "normal";
input-enable;
bias-disable;
power-source = <PM8058_GPIO_S3>;
};
/* Pin 35 connected to ASET */
pinconf_gpio35 {
pins = "gpio35";
function = "normal";
output-high;
bias-disable;
power-source = <PM8058_GPIO_S3>;
};
};
dragon_veth_gpios: veth-gpios {
pinconf {
pins = "gpio40";
@ -327,6 +378,47 @@
};
};
mpps@50 {
dragon_cm3605_mpps: cm3605-mpps {
pinconf {
pins = "mpp5";
function = "analog";
input-enable;
bias-high-impedance;
/* Let's use channel 5 */
qcom,amux-route = <PMIC_MPP_AMUX_ROUTE_CH5>;
power-source = <PM8058_GPIO_S3>;
};
};
};
xoadc@197 {
/* Reference voltage 2.2 V */
xoadc-ref-supply = <&pm8058_l18>;
/* Board-specific channels */
mpp5@05 {
/* Connected to AOUT of ALS sensor */
reg = <0x00 0x05>;
};
mpp6@06 {
/* Connected to test point TP43 */
reg = <0x00 0x06>;
};
mpp7@07 {
/* Connected to battery thermistor */
reg = <0x00 0x07>;
};
mpp8@08 {
/* Connected to battery ID detector */
reg = <0x00 0x08>;
};
mpp9@09 {
/* Connected to XO thermistor */
reg = <0x00 0x09>;
};
};
led@48 {
/*
* The keypad LED @0x48 is routed to
@ -340,6 +432,7 @@
reg = <0x48>;
label = "pm8058:infrared:proximitysensor";
default-state = "off";
linux,default-trigger = "cm3605";
};
led@131 {
compatible = "qcom,pm8058-led";
@ -368,6 +461,42 @@
};
};
gsbi@19800000 {
status = "ok";
qcom,mode = <GSBI_PROT_I2C>;
i2c@19880000 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&dragon_gsbi8_i2c_pins>;
eeprom@52 {
/* A 16KiB Platform ID EEPROM on the CPU carrier board */
compatible = "atmel,24c128";
reg = <0x52>;
vcc-supply = <&pm8058_s3>;
pagesize = <64>;
};
wm8903: wm8903@1a {
/* This Woolfson Micro device has an unrouted interrupt line */
compatible = "wlf,wm8903";
reg = <0x1a>;
AVDD-supply = <&pm8058_l16>;
CPVDD-supply = <&pm8058_l16>;
DBVDD-supply = <&pm8058_s3>;
DCVDD-supply = <&pm8058_l0>;
gpio-controller;
#gpio-cells = <2>;
micdet-cfg = <0>;
micdet-delay = <100>;
gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
};
};
};
gsbi@19c00000 {
status = "ok";
qcom,mode = <GSBI_PROT_I2C_UART>;

View File

@ -319,44 +319,38 @@
target-supply = <&pm8921_lvs7>;
};
/* OTG */
phy@12500000 {
status = "okay";
dr_mode = "peripheral";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
phy@12520000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
phy@12530000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
gadget@12500000 {
status = "okay";
};
/* OTG */
usb@12500000 {
status = "okay";
dr_mode = "peripheral";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
usb@12520000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
usb@12530000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
amba {

View File

@ -320,22 +320,16 @@
};
};
/* OTG */
phy@12500000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
dr_mode = "otg";
};
gadget@12500000 {
status = "okay";
};
/* OTG */
usb@12500000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
amba {

View File

@ -150,42 +150,37 @@
};
/* OTG */
usb1_phy: phy@12500000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
usb3_phy: phy@12520000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
usb4_phy: phy@12530000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
gadget1: gadget@12500000 {
usb@12500000 {
status = "ok";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
/* OTG */
usb1: usb@12500000 {
status = "ok";
};
usb3: usb@12520000 {
usb@12520000 {
status = "okay";
dr_mode = "host";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
usb4: usb@12530000 {
usb@12530000 {
status = "okay";
dr_mode = "host";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
/* on board fixed 3.3v supply */

View File

@ -244,42 +244,37 @@
};
/* OTG */
usb1_phy: phy@12500000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
usb3_phy: phy@12520000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
usb4_phy: phy@12530000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
gadget1: gadget@12500000 {
usb@12500000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
/* OTG */
usb1: usb@12500000 {
usb@12520000 {
status = "okay";
dr_mode = "host";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
usb3: usb@12520000 {
status = "okay";
};
usb4: usb@12530000 {
usb@12530000 {
status = "okay";
dr_mode = "host";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l23>;
};
};
};
pci@1b500000 {

View File

@ -349,15 +349,15 @@
};
};
phy@12500000 {
status = "okay";
vddcx-supply = <&pm8921_s3>;
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
gadget@12500000 {
usb@12500000 {
status = "okay";
dr_mode = "otg";
ulpi {
phy {
v3p3-supply = <&pm8921_l3>;
v1p8-supply = <&pm8921_l4>;
};
};
};
gsbi@1a200000 {

View File

@ -197,7 +197,7 @@
clock-frequency = <27000000>;
};
sleep_clk {
sleep_clk: sleep_clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
@ -884,81 +884,97 @@
};
};
usb1_phy: phy@12500000 {
compatible = "qcom,usb-otg-ci";
reg = <0x12500000 0x400>;
interrupts = <GIC_SPI 100 IRQ_TYPE_NONE>;
status = "disabled";
clocks = <&gcc USB_HS1_XCVR_CLK>,
<&gcc USB_HS1_H_CLK>;
clock-names = "core", "iface";
resets = <&gcc USB_HS1_RESET>;
reset-names = "link";
};
usb3_phy: phy@12520000 {
compatible = "qcom,usb-otg-ci";
reg = <0x12520000 0x400>;
interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>;
status = "disabled";
dr_mode = "host";
clocks = <&gcc USB_HS3_XCVR_CLK>,
<&gcc USB_HS3_H_CLK>;
clock-names = "core", "iface";
resets = <&gcc USB_HS3_RESET>;
reset-names = "link";
};
usb4_phy: phy@12530000 {
compatible = "qcom,usb-otg-ci";
reg = <0x12530000 0x400>;
interrupts = <GIC_SPI 215 IRQ_TYPE_NONE>;
status = "disabled";
dr_mode = "host";
clocks = <&gcc USB_HS4_XCVR_CLK>,
<&gcc USB_HS4_H_CLK>;
clock-names = "core", "iface";
resets = <&gcc USB_HS4_RESET>;
reset-names = "link";
};
gadget1: gadget@12500000 {
compatible = "qcom,ci-hdrc";
reg = <0x12500000 0x400>;
status = "disabled";
dr_mode = "peripheral";
interrupts = <GIC_SPI 100 IRQ_TYPE_NONE>;
usb-phy = <&usb1_phy>;
};
usb1: usb@12500000 {
compatible = "qcom,ehci-host";
reg = <0x12500000 0x400>;
interrupts = <GIC_SPI 100 IRQ_TYPE_NONE>;
status = "disabled";
usb-phy = <&usb1_phy>;
compatible = "qcom,ci-hdrc";
reg = <0x12500000 0x200>,
<0x12500200 0x200>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>;
clock-names = "core", "iface";
assigned-clocks = <&gcc USB_HS1_XCVR_CLK>;
assigned-clock-rates = <60000000>;
resets = <&gcc USB_HS1_RESET>;
reset-names = "core";
phy_type = "ulpi";
ahb-burst-config = <0>;
phys = <&usb_hs1_phy>;
phy-names = "usb-phy";
status = "disabled";
#reset-cells = <1>;
ulpi {
usb_hs1_phy: phy {
compatible = "qcom,usb-hs-phy-apq8064",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&sleep_clk>, <&cxo_board>;
clock-names = "sleep", "ref";
resets = <&usb1 0>;
reset-names = "por";
};
};
};
usb3: usb@12520000 {
compatible = "qcom,ehci-host";
reg = <0x12520000 0x400>;
interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>;
status = "disabled";
usb-phy = <&usb3_phy>;
compatible = "qcom,ci-hdrc";
reg = <0x12520000 0x200>,
<0x12520200 0x200>;
interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc USB_HS3_XCVR_CLK>, <&gcc USB_HS3_H_CLK>;
clock-names = "core", "iface";
assigned-clocks = <&gcc USB_HS3_XCVR_CLK>;
assigned-clock-rates = <60000000>;
resets = <&gcc USB_HS3_RESET>;
reset-names = "core";
phy_type = "ulpi";
ahb-burst-config = <0>;
phys = <&usb_hs3_phy>;
phy-names = "usb-phy";
status = "disabled";
#reset-cells = <1>;
ulpi {
usb_hs3_phy: phy {
compatible = "qcom,usb-hs-phy-apq8064",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&sleep_clk>, <&cxo_board>;
clock-names = "sleep", "ref";
resets = <&usb3 0>;
reset-names = "por";
};
};
};
usb4: usb@12530000 {
compatible = "qcom,ehci-host";
reg = <0x12530000 0x400>;
interrupts = <GIC_SPI 215 IRQ_TYPE_NONE>;
status = "disabled";
usb-phy = <&usb4_phy>;
compatible = "qcom,ci-hdrc";
reg = <0x12530000 0x200>,
<0x12530200 0x200>;
interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc USB_HS4_XCVR_CLK>, <&gcc USB_HS4_H_CLK>;
clock-names = "core", "iface";
assigned-clocks = <&gcc USB_HS4_XCVR_CLK>;
assigned-clock-rates = <60000000>;
resets = <&gcc USB_HS4_RESET>;
reset-names = "core";
phy_type = "ulpi";
ahb-burst-config = <0>;
phys = <&usb_hs4_phy>;
phy-names = "usb-phy";
status = "disabled";
#reset-cells = <1>;
ulpi {
usb_hs4_phy: phy {
compatible = "qcom,usb-hs-phy-apq8064",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&sleep_clk>, <&cxo_board>;
clock-names = "sleep", "ref";
resets = <&usb4 0>;
reset-names = "por";
};
};
};
sata_phy0: phy@1b400000 {

View File

@ -44,6 +44,26 @@
vqmmc-supply = <&pm8941_l13>;
};
usb@f9a55000 {
status = "ok";
phys = <&usb_hs2_phy>;
phy-select = <&tcsr 0xb000 1>;
extcon = <&smbb>, <&usb_id>;
vbus-supply = <&chg_otg>;
hnp-disable;
srp-disable;
adp-disable;
ulpi {
phy@b {
status = "ok";
v3p3-supply = <&pm8941_l24>;
v1p8-supply = <&pm8941_l6>;
extcon = <&smbb>;
qcom,init-seq = /bits/ 8 <0x1 0x63>;
};
};
};
pinctrl@fd510000 {
i2c11_pins: i2c11 {

View File

@ -154,10 +154,10 @@
i2c_0: i2c@78b7000 {
compatible = "qcom,i2c-qup-v2.2.1";
reg = <0x78b7000 0x6000>;
reg = <0x78b7000 0x600>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
<&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
clock-names = "iface", "core";
#address-cells = <1>;
#size-cells = <0>;

View File

@ -284,6 +284,29 @@
};
};
gsbi7: gsbi@16600000 {
status = "disabled";
compatible = "qcom,gsbi-v1.0.0";
cell-index = <7>;
reg = <0x16600000 0x100>;
clocks = <&gcc GSBI7_H_CLK>;
clock-names = "iface";
#address-cells = <1>;
#size-cells = <1>;
ranges;
syscon-tcsr = <&tcsr>;
gsbi7_serial: serial@16640000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
reg = <0x16640000 0x1000>,
<0x16600000 0x1000>;
interrupts = <0 158 0x0>;
clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
};
sata_phy: sata-phy@1b400000 {
compatible = "qcom,ipq806x-sata-phy";
reg = <0x1b400000 0x200>;

View File

@ -63,6 +63,22 @@
};
};
/*
* These channels from the ADC are simply hardware monitors.
* That is why the ADC is referred to as "HKADC" - HouseKeeping
* ADC.
*/
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&xoadc 0x00 0x01>, /* Battery */
<&xoadc 0x00 0x02>, /* DC in (charger) */
<&xoadc 0x00 0x04>, /* VPH the main system voltage */
<&xoadc 0x00 0x0b>, /* Die temperature */
<&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
<&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
<&xoadc 0x00 0x0e>; /* Reference voltage 0.325V */
};
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
@ -107,6 +123,31 @@
reg = <0x900000 0x4000>;
};
gsbi8: gsbi@19800000 {
compatible = "qcom,gsbi-v1.0.0";
cell-index = <12>;
reg = <0x19800000 0x100>;
clocks = <&gcc GSBI8_H_CLK>;
clock-names = "iface";
#address-cells = <1>;
#size-cells = <1>;
ranges;
syscon-tcsr = <&tcsr>;
gsbi8_i2c: i2c@19880000 {
compatible = "qcom,i2c-qup-v1.1.1";
reg = <0x19880000 0x1000>;
interrupts = <GIC_SPI 161 IRQ_TYPE_NONE>;
clocks = <&gcc GSBI8_QUP_CLK>, <&gcc GSBI8_H_CLK>;
clock-names = "core", "iface";
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
};
gsbi12: gsbi@19c00000 {
compatible = "qcom,gsbi-v1.0.0";
cell-index = <12>;
@ -267,6 +308,49 @@
row-hold = <91500>;
};
xoadc: xoadc@197 {
compatible = "qcom,pm8058-adc";
reg = <0x197>;
interrupts-extended = <&pm8058 76 IRQ_TYPE_EDGE_RISING>;
#address-cells = <2>;
#size-cells = <0>;
#io-channel-cells = <2>;
vcoin: adc-channel@00 {
reg = <0x00 0x00>;
};
vbat: adc-channel@01 {
reg = <0x00 0x01>;
};
dcin: adc-channel@02 {
reg = <0x00 0x02>;
};
ichg: adc-channel@03 {
reg = <0x00 0x03>;
};
vph_pwr: adc-channel@04 {
reg = <0x00 0x04>;
};
usb_vbus: adc-channel@0a {
reg = <0x00 0x0a>;
};
die_temp: adc-channel@0b {
reg = <0x00 0x0b>;
};
ref_625mv: adc-channel@0c {
reg = <0x00 0x0c>;
};
ref_1250mv: adc-channel@0d {
reg = <0x00 0x0d>;
};
ref_325mv: adc-channel@0e {
reg = <0x00 0x0e>;
};
ref_muxoff: adc-channel@0f {
reg = <0x00 0x0f>;
};
};
rtc@1e8 {
compatible = "qcom,pm8058-rtc";
reg = <0x1e8>;

View File

@ -92,7 +92,6 @@
vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
vdd_l21-supply = <&vreg_boost>;
vin_5vs-supply = <&pm8941_5v>;
s1 {
regulator-min-microvolt = <1300000>;

View File

@ -3,6 +3,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-msm8974.h>
#include <dt-bindings/clock/qcom,rpmcc.h>
#include <dt-bindings/reset/qcom,gcc-msm8974.h>
#include <dt-bindings/gpio/gpio.h>
#include "skeleton.dtsi"
@ -551,6 +552,11 @@
reg = <0xfc400000 0x4000>;
};
tcsr: syscon@fd4a0000 {
compatible = "syscon";
reg = <0xfd4a0000 0x10000>;
};
tcsr_mutex_block: syscon@fd484000 {
compatible = "syscon";
reg = <0xfd484000 0x2000>;
@ -620,6 +626,50 @@
status = "disabled";
};
otg: usb@f9a55000 {
compatible = "qcom,ci-hdrc";
reg = <0xf9a55000 0x200>,
<0xf9a55200 0x200>;
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_USB_HS_AHB_CLK>,
<&gcc GCC_USB_HS_SYSTEM_CLK>;
clock-names = "iface", "core";
assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
assigned-clock-rates = <75000000>;
resets = <&gcc GCC_USB_HS_BCR>;
reset-names = "core";
phy_type = "ulpi";
dr_mode = "otg";
ahb-burst-config = <0>;
phy-names = "usb-phy";
status = "disabled";
#reset-cells = <1>;
ulpi {
usb_hs1_phy: phy@a {
compatible = "qcom,usb-hs-phy-msm8974",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clock-names = "ref", "sleep";
resets = <&gcc GCC_USB2A_PHY_BCR>, <&otg 0>;
reset-names = "phy", "por";
status = "disabled";
};
usb_hs2_phy: phy@b {
compatible = "qcom,usb-hs-phy-msm8974",
"qcom,usb-hs-phy";
#phy-cells = <0>;
clocks = <&xo_board>, <&gcc GCC_USB2B_PHY_SLEEP_CLK>;
clock-names = "ref", "sleep";
resets = <&gcc GCC_USB2B_PHY_BCR>, <&otg 1>;
reset-names = "phy", "por";
status = "disabled";
};
};
};
rng@f9bff000 {
compatible = "qcom,prng";
reg = <0xf9bff000 0x200>;
@ -1021,7 +1071,6 @@
pm8941_s1: s1 {};
pm8941_s2: s2 {};
pm8941_s3: s3 {};
pm8941_5v: s4 {};
pm8941_l1: l1 {};
pm8941_l2: l2 {};
@ -1051,9 +1100,6 @@
pm8941_lvs1: lvs1 {};
pm8941_lvs2: lvs2 {};
pm8941_lvs3: lvs3 {};
pm8941_5vs1: 5vs1 {};
pm8941_5vs2: 5vs2 {};
};
};
};

View File

@ -26,7 +26,14 @@
bias-pull-up;
};
charger@1000 {
usb_id: misc@900 {
compatible = "qcom,pm8941-misc";
reg = <0x900>;
interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
interrupt-names = "usb_id";
};
smbb: charger@1000 {
compatible = "qcom,pm8941-charger";
reg = <0x1000>;
interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
@ -45,6 +52,10 @@
"chg-gone",
"usb-valid",
"dc-valid";
usb-otg-in-supply = <&pm8941_5vs1>;
chg_otg: otg-vbus { };
};
pm8941_gpios: gpios@c000 {
@ -171,5 +182,28 @@
status = "disabled";
};
regulators {
compatible = "qcom,pm8941-regulators";
interrupts = <0x1 0x83 0x2 0>, <0x1 0x84 0x2 0>;
interrupt-names = "ocp-5vs1", "ocp-5vs2";
vin_5vs-supply = <&pm8941_5v>;
pm8941_5v: s4 {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <500>;
};
pm8941_5vs1: 5vs1 {
regulator-enable-ramp-delay = <1000>;
regulator-pull-down;
regulator-over-current-protection;
qcom,ocp-max-retries = <10>;
qcom,ocp-retry-delay = <30>;
qcom,vs-soft-start-strength = <0>;
regulator-initial-mode = <1>;
};
};
};
};