diff options
author | Ivan T. Ivanov <ivan.ivanov@linaro.org> | 2015-04-20 03:45:39 -0400 |
---|---|---|
committer | Kumar Gala <galak@codeaurora.org> | 2015-04-27 17:09:11 -0400 |
commit | 729ee9c4ab8a107de37330b9d1778d8754351862 (patch) | |
tree | ee433e7b52ac2fdf6c27157e80779a7e7db4d3f7 | |
parent | 232461ffefa145154831ac5388a80ba26a44141b (diff) |
arm64: dts: qcom: Add 8x16 chipset SPMI PMIC's nodes
PM9816 has 2 SPMI devices per physical package. Add PMIC configuration
nodes including sub-function device nodes and include them in boards,
which are using 8x16 based chipset.
PM9816 sub-function devices include:
* GPIO block, with 4 pins
* MPP block, with 4 pins
* Volatage ADC (VADC), with multiple inputs
* Thermal sensor device, which is using on chip VADC
channel report PMIC die temperature.
* Power key device, which is responsible for clean system
reboot or shutdown
* RTC device
Signed-off-by: Ivan T. Ivanov <ivan.ivanov@linaro.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
-rw-r--r-- | arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi | 1 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/pm8916.dtsi | 99 |
3 files changed, 101 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi index 703a4f16e711..58f0055f72a5 100644 --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include "msm8916.dtsi" | 14 | #include "msm8916.dtsi" |
15 | #include "pm8916.dtsi" | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | aliases { | 18 | aliases { |
diff --git a/arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi index bea871b0df13..a1aa0b201e92 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8916-mtp.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include "msm8916.dtsi" | 14 | #include "msm8916.dtsi" |
15 | #include "pm8916.dtsi" | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | aliases { | 18 | aliases { |
diff --git a/arch/arm64/boot/dts/qcom/pm8916.dtsi b/arch/arm64/boot/dts/qcom/pm8916.dtsi new file mode 100644 index 000000000000..b222ece7e3d2 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/pm8916.dtsi | |||
@@ -0,0 +1,99 @@ | |||
1 | #include <dt-bindings/iio/qcom,spmi-vadc.h> | ||
2 | #include <dt-bindings/interrupt-controller/irq.h> | ||
3 | #include <dt-bindings/spmi/spmi.h> | ||
4 | |||
5 | &spmi_bus { | ||
6 | |||
7 | usid0: pm8916@0 { | ||
8 | compatible = "qcom,spmi-pmic"; | ||
9 | reg = <0x0 SPMI_USID>; | ||
10 | #address-cells = <1>; | ||
11 | #size-cells = <0>; | ||
12 | |||
13 | rtc@6000 { | ||
14 | compatible = "qcom,pm8941-rtc"; | ||
15 | reg = <0x6000 0x6100>; | ||
16 | reg-names = "rtc", "alarm"; | ||
17 | interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>; | ||
18 | }; | ||
19 | |||
20 | pwrkey@800 { | ||
21 | compatible = "qcom,pm8941-pwrkey"; | ||
22 | reg = <0x800>; | ||
23 | interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; | ||
24 | debounce = <15625>; | ||
25 | bias-pull-up; | ||
26 | }; | ||
27 | |||
28 | pm8916_gpios: gpios@c000 { | ||
29 | compatible = "qcom,pm8916-gpio"; | ||
30 | reg = <0xc000 0x400>; | ||
31 | gpio-controller; | ||
32 | #gpio-cells = <2>; | ||
33 | interrupts = <0 0xc0 0 IRQ_TYPE_NONE>, | ||
34 | <0 0xc1 0 IRQ_TYPE_NONE>, | ||
35 | <0 0xc2 0 IRQ_TYPE_NONE>, | ||
36 | <0 0xc3 0 IRQ_TYPE_NONE>; | ||
37 | }; | ||
38 | |||
39 | pm8916_mpps: mpps@a000 { | ||
40 | compatible = "qcom,pm8916-mpp"; | ||
41 | reg = <0xa000 0x400>; | ||
42 | gpio-controller; | ||
43 | #gpio-cells = <2>; | ||
44 | interrupts = <0 0xa0 0 IRQ_TYPE_NONE>, | ||
45 | <0 0xa1 0 IRQ_TYPE_NONE>, | ||
46 | <0 0xa2 0 IRQ_TYPE_NONE>, | ||
47 | <0 0xa3 0 IRQ_TYPE_NONE>; | ||
48 | }; | ||
49 | |||
50 | pm8916_temp: temp-alarm@2400 { | ||
51 | compatible = "qcom,spmi-temp-alarm"; | ||
52 | reg = <0x2400 0x100>; | ||
53 | interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>; | ||
54 | io-channels = <&pm8916_vadc VADC_DIE_TEMP>; | ||
55 | io-channel-names = "thermal"; | ||
56 | #thermal-sensor-cells = <0>; | ||
57 | }; | ||
58 | |||
59 | pm8916_vadc: vadc@3100 { | ||
60 | compatible = "qcom,spmi-vadc"; | ||
61 | reg = <0x3100 0x100>; | ||
62 | interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <0>; | ||
65 | #io-channel-cells = <1>; | ||
66 | |||
67 | usb_in { | ||
68 | reg = <VADC_USBIN>; | ||
69 | qcom,pre-scaling = <1 10>; | ||
70 | }; | ||
71 | vph_pwr { | ||
72 | reg = <VADC_VSYS>; | ||
73 | qcom,pre-scaling = <1 3>; | ||
74 | }; | ||
75 | die_temp { | ||
76 | reg = <VADC_DIE_TEMP>; | ||
77 | }; | ||
78 | ref_625mv { | ||
79 | reg = <VADC_REF_625MV>; | ||
80 | }; | ||
81 | ref_1250v { | ||
82 | reg = <VADC_REF_1250MV>; | ||
83 | }; | ||
84 | ref_gnd { | ||
85 | reg = <VADC_GND_REF>; | ||
86 | }; | ||
87 | ref_vdd { | ||
88 | reg = <VADC_VDD_VADC>; | ||
89 | }; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | usid1: pm8916@1 { | ||
94 | compatible = "qcom,spmi-pmic"; | ||
95 | reg = <0x1 SPMI_USID>; | ||
96 | #address-cells = <1>; | ||
97 | #size-cells = <0>; | ||
98 | }; | ||
99 | }; | ||