123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- From aa0c4b815045420ea54d5ae5362f5a0190609d46 Mon Sep 17 00:00:00 2001
- From: Bjorn Andersson <bjorn.andersson@sonymobile.com>
- Date: Wed, 26 Nov 2014 13:50:59 -0800
- Subject: [PATCH] mfd: devicetree: bindings: Add Qualcomm RPM DT binding
- Add binding for the Qualcomm Resource Power Manager (RPM) found in 8660,
- 8960 and 8064 based devices.
- Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
- Signed-off-by: Lee Jones <lee.jones@linaro.org>
- ---
- Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 70 ++++++++++
- include/dt-bindings/mfd/qcom-rpm.h | 154 +++++++++++++++++++++
- 2 files changed, 224 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/mfd/qcom-rpm.txt
- create mode 100644 include/dt-bindings/mfd/qcom-rpm.h
- --- /dev/null
- +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
- @@ -0,0 +1,70 @@
- +Qualcomm Resource Power Manager (RPM)
- +
- +This driver is used to interface with the Resource Power Manager (RPM) found in
- +various Qualcomm platforms. The RPM allows each component in the system to vote
- +for state of the system resources, such as clocks, regulators and bus
- +frequencies.
- +
- +- compatible:
- + Usage: required
- + Value type: <string>
- + Definition: must be one of:
- + "qcom,rpm-apq8064"
- + "qcom,rpm-msm8660"
- + "qcom,rpm-msm8960"
- +
- +- reg:
- + Usage: required
- + Value type: <prop-encoded-array>
- + Definition: base address and size of the RPM's message ram
- +
- +- interrupts:
- + Usage: required
- + Value type: <prop-encoded-array>
- + Definition: three entries specifying the RPM's:
- + 1. acknowledgement interrupt
- + 2. error interrupt
- + 3. wakeup interrupt
- +
- +- interrupt-names:
- + Usage: required
- + Value type: <string-array>
- + Definition: must be the three strings "ack", "err" and "wakeup", in order
- +
- +- #address-cells:
- + Usage: required
- + Value type: <u32>
- + Definition: must be 1
- +
- +- #size-cells:
- + Usage: required
- + Value type: <u32>
- + Definition: must be 0
- +
- +- qcom,ipc:
- + Usage: required
- + Value type: <prop-encoded-array>
- +
- + Definition: three entries specifying the outgoing ipc bit used for
- + signaling the RPM:
- + - phandle to a syscon node representing the apcs registers
- + - u32 representing offset to the register within the syscon
- + - u32 representing the ipc bit within the register
- +
- +
- += EXAMPLE
- +
- + #include <dt-bindings/mfd/qcom-rpm.h>
- +
- + rpm@108000 {
- + compatible = "qcom,rpm-msm8960";
- + reg = <0x108000 0x1000>;
- + qcom,ipc = <&apcs 0x8 2>;
- +
- + interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
- + interrupt-names = "ack", "err", "wakeup";
- +
- + #address-cells = <1>;
- + #size-cells = <0>;
- + };
- +
- --- /dev/null
- +++ b/include/dt-bindings/mfd/qcom-rpm.h
- @@ -0,0 +1,154 @@
- +/*
- + * This header provides constants for the Qualcomm RPM bindings.
- + */
- +
- +#ifndef _DT_BINDINGS_MFD_QCOM_RPM_H
- +#define _DT_BINDINGS_MFD_QCOM_RPM_H
- +
- +/*
- + * Constants use to identify individual resources in the RPM.
- + */
- +#define QCOM_RPM_APPS_FABRIC_ARB 1
- +#define QCOM_RPM_APPS_FABRIC_CLK 2
- +#define QCOM_RPM_APPS_FABRIC_HALT 3
- +#define QCOM_RPM_APPS_FABRIC_IOCTL 4
- +#define QCOM_RPM_APPS_FABRIC_MODE 5
- +#define QCOM_RPM_APPS_L2_CACHE_CTL 6
- +#define QCOM_RPM_CFPB_CLK 7
- +#define QCOM_RPM_CXO_BUFFERS 8
- +#define QCOM_RPM_CXO_CLK 9
- +#define QCOM_RPM_DAYTONA_FABRIC_CLK 10
- +#define QCOM_RPM_DDR_DMM 11
- +#define QCOM_RPM_EBI1_CLK 12
- +#define QCOM_RPM_HDMI_SWITCH 13
- +#define QCOM_RPM_MMFPB_CLK 14
- +#define QCOM_RPM_MM_FABRIC_ARB 15
- +#define QCOM_RPM_MM_FABRIC_CLK 16
- +#define QCOM_RPM_MM_FABRIC_HALT 17
- +#define QCOM_RPM_MM_FABRIC_IOCTL 18
- +#define QCOM_RPM_MM_FABRIC_MODE 19
- +#define QCOM_RPM_PLL_4 20
- +#define QCOM_RPM_PM8058_LDO0 21
- +#define QCOM_RPM_PM8058_LDO1 22
- +#define QCOM_RPM_PM8058_LDO2 23
- +#define QCOM_RPM_PM8058_LDO3 24
- +#define QCOM_RPM_PM8058_LDO4 25
- +#define QCOM_RPM_PM8058_LDO5 26
- +#define QCOM_RPM_PM8058_LDO6 27
- +#define QCOM_RPM_PM8058_LDO7 28
- +#define QCOM_RPM_PM8058_LDO8 29
- +#define QCOM_RPM_PM8058_LDO9 30
- +#define QCOM_RPM_PM8058_LDO10 31
- +#define QCOM_RPM_PM8058_LDO11 32
- +#define QCOM_RPM_PM8058_LDO12 33
- +#define QCOM_RPM_PM8058_LDO13 34
- +#define QCOM_RPM_PM8058_LDO14 35
- +#define QCOM_RPM_PM8058_LDO15 36
- +#define QCOM_RPM_PM8058_LDO16 37
- +#define QCOM_RPM_PM8058_LDO17 38
- +#define QCOM_RPM_PM8058_LDO18 39
- +#define QCOM_RPM_PM8058_LDO19 40
- +#define QCOM_RPM_PM8058_LDO20 41
- +#define QCOM_RPM_PM8058_LDO21 42
- +#define QCOM_RPM_PM8058_LDO22 43
- +#define QCOM_RPM_PM8058_LDO23 44
- +#define QCOM_RPM_PM8058_LDO24 45
- +#define QCOM_RPM_PM8058_LDO25 46
- +#define QCOM_RPM_PM8058_LVS0 47
- +#define QCOM_RPM_PM8058_LVS1 48
- +#define QCOM_RPM_PM8058_NCP 49
- +#define QCOM_RPM_PM8058_SMPS0 50
- +#define QCOM_RPM_PM8058_SMPS1 51
- +#define QCOM_RPM_PM8058_SMPS2 52
- +#define QCOM_RPM_PM8058_SMPS3 53
- +#define QCOM_RPM_PM8058_SMPS4 54
- +#define QCOM_RPM_PM8821_LDO1 55
- +#define QCOM_RPM_PM8821_SMPS1 56
- +#define QCOM_RPM_PM8821_SMPS2 57
- +#define QCOM_RPM_PM8901_LDO0 58
- +#define QCOM_RPM_PM8901_LDO1 59
- +#define QCOM_RPM_PM8901_LDO2 60
- +#define QCOM_RPM_PM8901_LDO3 61
- +#define QCOM_RPM_PM8901_LDO4 62
- +#define QCOM_RPM_PM8901_LDO5 63
- +#define QCOM_RPM_PM8901_LDO6 64
- +#define QCOM_RPM_PM8901_LVS0 65
- +#define QCOM_RPM_PM8901_LVS1 66
- +#define QCOM_RPM_PM8901_LVS2 67
- +#define QCOM_RPM_PM8901_LVS3 68
- +#define QCOM_RPM_PM8901_MVS 69
- +#define QCOM_RPM_PM8901_SMPS0 70
- +#define QCOM_RPM_PM8901_SMPS1 71
- +#define QCOM_RPM_PM8901_SMPS2 72
- +#define QCOM_RPM_PM8901_SMPS3 73
- +#define QCOM_RPM_PM8901_SMPS4 74
- +#define QCOM_RPM_PM8921_CLK1 75
- +#define QCOM_RPM_PM8921_CLK2 76
- +#define QCOM_RPM_PM8921_LDO1 77
- +#define QCOM_RPM_PM8921_LDO2 78
- +#define QCOM_RPM_PM8921_LDO3 79
- +#define QCOM_RPM_PM8921_LDO4 80
- +#define QCOM_RPM_PM8921_LDO5 81
- +#define QCOM_RPM_PM8921_LDO6 82
- +#define QCOM_RPM_PM8921_LDO7 83
- +#define QCOM_RPM_PM8921_LDO8 84
- +#define QCOM_RPM_PM8921_LDO9 85
- +#define QCOM_RPM_PM8921_LDO10 86
- +#define QCOM_RPM_PM8921_LDO11 87
- +#define QCOM_RPM_PM8921_LDO12 88
- +#define QCOM_RPM_PM8921_LDO13 89
- +#define QCOM_RPM_PM8921_LDO14 90
- +#define QCOM_RPM_PM8921_LDO15 91
- +#define QCOM_RPM_PM8921_LDO16 92
- +#define QCOM_RPM_PM8921_LDO17 93
- +#define QCOM_RPM_PM8921_LDO18 94
- +#define QCOM_RPM_PM8921_LDO19 95
- +#define QCOM_RPM_PM8921_LDO20 96
- +#define QCOM_RPM_PM8921_LDO21 97
- +#define QCOM_RPM_PM8921_LDO22 98
- +#define QCOM_RPM_PM8921_LDO23 99
- +#define QCOM_RPM_PM8921_LDO24 100
- +#define QCOM_RPM_PM8921_LDO25 101
- +#define QCOM_RPM_PM8921_LDO26 102
- +#define QCOM_RPM_PM8921_LDO27 103
- +#define QCOM_RPM_PM8921_LDO28 104
- +#define QCOM_RPM_PM8921_LDO29 105
- +#define QCOM_RPM_PM8921_LVS1 106
- +#define QCOM_RPM_PM8921_LVS2 107
- +#define QCOM_RPM_PM8921_LVS3 108
- +#define QCOM_RPM_PM8921_LVS4 109
- +#define QCOM_RPM_PM8921_LVS5 110
- +#define QCOM_RPM_PM8921_LVS6 111
- +#define QCOM_RPM_PM8921_LVS7 112
- +#define QCOM_RPM_PM8921_MVS 113
- +#define QCOM_RPM_PM8921_NCP 114
- +#define QCOM_RPM_PM8921_SMPS1 115
- +#define QCOM_RPM_PM8921_SMPS2 116
- +#define QCOM_RPM_PM8921_SMPS3 117
- +#define QCOM_RPM_PM8921_SMPS4 118
- +#define QCOM_RPM_PM8921_SMPS5 119
- +#define QCOM_RPM_PM8921_SMPS6 120
- +#define QCOM_RPM_PM8921_SMPS7 121
- +#define QCOM_RPM_PM8921_SMPS8 122
- +#define QCOM_RPM_PXO_CLK 123
- +#define QCOM_RPM_QDSS_CLK 124
- +#define QCOM_RPM_SFPB_CLK 125
- +#define QCOM_RPM_SMI_CLK 126
- +#define QCOM_RPM_SYS_FABRIC_ARB 127
- +#define QCOM_RPM_SYS_FABRIC_CLK 128
- +#define QCOM_RPM_SYS_FABRIC_HALT 129
- +#define QCOM_RPM_SYS_FABRIC_IOCTL 130
- +#define QCOM_RPM_SYS_FABRIC_MODE 131
- +#define QCOM_RPM_USB_OTG_SWITCH 132
- +#define QCOM_RPM_VDDMIN_GPIO 133
- +
- +/*
- + * Constants used to select force mode for regulators.
- + */
- +#define QCOM_RPM_FORCE_MODE_NONE 0
- +#define QCOM_RPM_FORCE_MODE_LPM 1
- +#define QCOM_RPM_FORCE_MODE_HPM 2
- +#define QCOM_RPM_FORCE_MODE_AUTO 3
- +#define QCOM_RPM_FORCE_MODE_BYPASS 4
- +
- +#endif
|