Home
last modified time | relevance | path

Searched full:spmi (Results 1 – 25 of 203) sorted by relevance

123456789

/linux/drivers/spmi/
H A Dspmi-apple-controller.c3 * Apple SoC SPMI device driver
10 * hisi-spmi-controller.c
11 * spmi-pmic-arb.c Copyright (c) 2021, The Linux Foundation.
19 #include <linux/spmi.h>
21 /* SPMI Controller Registers */
35 #define poll_reg(spmi, reg, val, cond) \ argument
36 readl_poll_timeout((spmi)->regs + (reg), (val), (cond), \
47 struct apple_spmi *spmi = spmi_controller_get_drvdata(ctrl); in apple_spmi_wait_rx_not_empty() local
51 ret = poll_reg(spmi, SPMI_STATUS_REG, status, !(status & SPMI_RX_FIFO_EMPTY)); in apple_spmi_wait_rx_not_empty()
64 struct apple_spmi *spmi = spmi_controller_get_drvdata(ctrl); in spmi_read_cmd() local
[all …]
H A DKconfig3 # SPMI driver configuration
5 menuconfig SPMI config
6 tristate "SPMI support"
8 SPMI (System Power Management Interface) is a two-wire
12 if SPMI
15 tristate "Apple SoC SPMI Controller platform driver"
19 SPMI controller present on many Apple SoCs, including the
23 tristate "Hisilicon 3670 SPMI Controller"
29 built-in SPMI PMIC Arbiter interface on Hisilicon 3670
33 tristate "Qualcomm MSM SPMI Controller (PMIC Arbiter)"
[all …]
H A DMakefile3 # Makefile for kernel SPMI framework.
5 obj-$(CONFIG_SPMI) += spmi.o spmi-devres.o
7 obj-$(CONFIG_SPMI_APPLE) += spmi-apple-controller.o
8 obj-$(CONFIG_SPMI_HISI3670) += hisi-spmi-controller.o
9 obj-$(CONFIG_SPMI_MSM_PMIC_ARB) += spmi-pmic-arb.o
10 obj-$(CONFIG_SPMI_MTK_PMIF) += spmi-mtk-pmif.o
/linux/Documentation/devicetree/bindings/spmi/
H A Dapple,spmi.yaml4 $id: http://devicetree.org/schemas/spmi/apple,spmi.yaml#
7 title: Apple SPMI controller
12 description: A SPMI controller present on most Apple SoCs
15 - $ref: spmi.yaml#
21 - apple,t8103-spmi
22 - apple,t6000-spmi
23 - apple,t8112-spmi
24 - const: apple,spmi
37 #include <dt-bindings/spmi/spmi.h>
39 spmi@920a1300 {
[all …]
H A Dspmi.yaml4 $id: http://devicetree.org/schemas/spmi/spmi.yaml#
7 title: System Power Management Interface (SPMI) Controller
13 The System Power Management (SPMI) controller is a 2-wire bus defined
16 SPMI controllers are modelled in device tree using a generic set of
20 Each SPMI controller has zero or more child nodes (up to 16 ones), each
25 pattern: "^spmi@.*"
60 #include <dt-bindings/spmi/spmi.h>
62 spmi@0 {
/linux/arch/arm64/boot/dts/qcom/
H A Dx1e80100-pmics.dtsi9 #include <dt-bindings/spmi/spmi.h>
198 compatible = "qcom,pm8550", "qcom,spmi-pmic";
230 compatible = "qcom,spmi-sdam";
243 compatible = "qcom,pmk8550-gpio", "qcom,spmi-gpio";
263 compatible = "qcom,pm8550", "qcom,spmi-pmic";
269 compatible = "qcom,spmi-temp-alarm";
276 compatible = "qcom,pm8550-gpio", "qcom,spmi-gpio";
286 compatible = "qcom,pm8550-flash-led", "qcom,spmi-flash-led";
301 compatible = "qcom,pm8550", "qcom,spmi-pmic";
307 compatible = "qcom,spmi-temp-alarm";
[all …]
H A Dsc8180x-pmics.dtsi9 #include <dt-bindings/spmi/spmi.h>
10 #include <dt-bindings/iio/qcom,spmi-vadc.h>
70 compatible = "qcom,pm8150", "qcom,spmi-pmic";
90 compatible = "qcom,spmi-temp-alarm";
99 compatible = "qcom,spmi-adc5";
126 compatible = "qcom,spmi-adc-tm5";
143 compatible = "qcom,pmc8180-gpio", "qcom,spmi-gpio";
154 compatible = "qcom,pmc8180", "qcom,spmi-pmic";
161 compatible = "qcom,smb2351", "qcom,spmi-pmic";
167 compatible = "qcom,spmi-adc-rev2";
[all …]
H A Dsc8280xp-pmics.dtsi6 #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h>
7 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
8 #include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
11 #include <dt-bindings/spmi/spmi.h>
99 compatible = "qcom,pmk8350", "qcom,spmi-pmic";
124 compatible = "qcom,spmi-adc7";
164 compatible = "qcom,spmi-adc-tm5-gen2";
183 compatible = "qcom,spmi-sdam";
193 compatible = "qcom,pm8350", "qcom,spmi-pmic";
199 compatible = "qcom,spmi-temp-alarm";
[all …]
H A Dpm8550vs.dtsi7 #include <dt-bindings/spmi/spmi.h>
96 compatible = "qcom,pm8550", "qcom,spmi-pmic";
102 compatible = "qcom,spmi-temp-alarm";
109 compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
120 compatible = "qcom,pm8550", "qcom,spmi-pmic";
126 compatible = "qcom,spmi-temp-alarm";
133 compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
144 compatible = "qcom,pm8550", "qcom,spmi-pmic";
150 compatible = "qcom,spmi-temp-alarm";
157 compatible = "qcom,pm8550vs-gpio", "qcom,spmi-gpio";
[all …]
H A Dsa8775p-pmics.dtsi7 #include <dt-bindings/spmi/spmi.h>
103 compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
109 compatible = "qcom,spmi-temp-alarm";
136 compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
146 compatible = "qcom,spmi-sdam";
160 compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
166 compatible = "qcom,spmi-temp-alarm";
173 compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
184 compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
190 compatible = "qcom,spmi-temp-alarm";
[all …]
H A Dsa8540p-pmics.dtsi8 #include <dt-bindings/spmi/spmi.h>
12 compatible = "qcom,pm8150", "qcom,spmi-pmic";
26 compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
37 compatible = "qcom,pm8150", "qcom,spmi-pmic";
43 compatible = "qcom,spmi-sdam";
52 compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
63 compatible = "qcom,pm8150", "qcom,spmi-pmic";
69 compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
80 compatible = "qcom,pm8150", "qcom,spmi-pmic";
86 compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio";
H A Dpm6150l.dtsi6 #include <dt-bindings/iio/qcom,spmi-vadc.h>
8 #include <dt-bindings/spmi/spmi.h>
40 compatible = "qcom,pm6150l", "qcom,spmi-pmic";
46 compatible = "qcom,spmi-temp-alarm";
53 compatible = "qcom,spmi-adc5";
86 compatible = "qcom,spmi-adc-tm5";
96 compatible = "qcom,pm6150l-gpio", "qcom,spmi-gpio";
107 compatible = "qcom,pm6150l", "qcom,spmi-pmic";
113 compatible = "qcom,pm6150l-flash-led", "qcom,spmi-flash-led";
H A Dpm8150l.dtsi7 #include <dt-bindings/iio/qcom,spmi-vadc.h>
9 #include <dt-bindings/spmi/spmi.h>
43 compatible = "qcom,pm8150l", "qcom,spmi-pmic";
56 compatible = "qcom,spmi-temp-alarm";
65 compatible = "qcom,spmi-adc5";
92 compatible = "qcom,spmi-adc-tm5";
102 compatible = "qcom,pm8150l-gpio", "qcom,spmi-gpio";
113 compatible = "qcom,pm8150l", "qcom,spmi-pmic";
119 compatible = "qcom,pm8150l-flash-led", "qcom,spmi-flash-led";
H A Dpmm8155au_1.dtsi8 #include <dt-bindings/spmi/spmi.h>
9 #include <dt-bindings/iio/qcom,spmi-vadc.h>
43 compatible = "qcom,pmm8155au", "qcom,spmi-pmic";
63 compatible = "qcom,spmi-temp-alarm";
72 compatible = "qcom,spmi-adc5";
99 compatible = "qcom,spmi-adc-tm5";
118 compatible = "qcom,pmm8155au-gpio", "qcom,spmi-gpio";
129 compatible = "qcom,pmm8155au", "qcom,spmi-pmic";
H A Dpm8998.dtsi4 #include <dt-bindings/iio/qcom,spmi-vadc.h>
7 #include <dt-bindings/spmi/spmi.h>
35 compatible = "qcom,pm8998", "qcom,spmi-pmic";
65 compatible = "qcom,spmi-temp-alarm";
81 compatible = "qcom,spmi-adc-rev2";
95 compatible = "qcom,spmi-adc-tm-hc";
112 compatible = "qcom,pm8998-gpio", "qcom,spmi-gpio";
124 compatible = "qcom,pm8998", "qcom,spmi-pmic";
/linux/Documentation/devicetree/bindings/mfd/
H A Dqcom,spmi-pmic.yaml4 $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml#
7 title: Qualcomm SPMI PMICs multi-function device
11 to the chip via the SPMI (System Power Management Interface) bus.
13 16-bit SPMI peripheral address space into 256 smaller fixed-size regions, 256 bytes
16 The Qualcomm SPMI series includes the PM8941, PM8841, PMA8084, PM8998 and other
17 PMICs. These PMICs use a "QPNP" scheme through SPMI interface.
18 QPNP is effectively a partitioning scheme for dividing the SPMI extended
102 - const: qcom,spmi-pmic
120 $ref: /schemas/regulator/qcom,spmi-regulator.yaml#
130 - $ref: /schemas/iio/adc/qcom,spmi-iadc.yaml#
[all …]
H A Dhisilicon,hi6421-spmi-pmic.yaml4 $id: http://devicetree.org/schemas/mfd/hisilicon,hi6421-spmi-pmic.yaml#
7 title: HiSilicon 6421v600 SPMI PMIC
14 (SPMI) bus. It provides interrupts and power supply.
19 The SPMI controller part is provided by
20 Documentation/devicetree/bindings/spmi/hisilicon,hisi-spmi-controller.yaml
27 const: hisilicon,hi6421v600-spmi
62 #include <dt-bindings/spmi/spmi.h>
64 spmi {
69 compatible = "hisilicon,hi6421v600-spmi";
/linux/Documentation/devicetree/bindings/iio/adc/
H A Dqcom,spmi-vadc.yaml4 $id: http://devicetree.org/schemas/iio/adc/qcom,spmi-vadc.yaml#
7 title: Qualcomm's SPMI PMIC ADC
14 SPMI PMIC voltage ADC (VADC) provides interface to clients to read
16 SPMI PMIC5/PMIC7 voltage ADC (ADC) provides interface to clients to read
24 - const: qcom,spmi-adc-rev2
26 - qcom,spmi-vadc
27 - qcom,spmi-adc5
28 - qcom,spmi-adc-rev2
29 - qcom,spmi-adc7
32 description: VADC base address in the SPMI PMIC register map
[all …]
/linux/include/linux/
H A Dspmi.h14 /* SPMI Commands */
34 * struct spmi_device - Basic representation of an SPMI device
36 * @ctrl: SPMI controller managing the bus hosting this device.
73 * struct spmi_controller - interface to the SPMI master controller
76 * @cmd: sends a non-data command sequence on the SPMI bus.
77 * @read_cmd: sends a register read command sequence on the SPMI bus.
78 * @write_cmd: sends a register write command sequence on the SPMI bus.
112 * @ctrl SPMI controller.
127 * struct spmi_driver - SPMI slave device driver
128 * @driver: SPMI device drivers should initialize name and owner field of
[all …]
/linux/arch/arm/boot/dts/qcom/
H A Dpma8084.dtsi2 #include <dt-bindings/iio/qcom,spmi-vadc.h>
5 #include <dt-bindings/spmi/spmi.h>
10 compatible = "qcom,pma8084", "qcom,spmi-pmic";
37 compatible = "qcom,pma8084-gpio", "qcom,spmi-gpio";
47 compatible = "qcom,pma8084-mpp", "qcom,spmi-mpp";
57 compatible = "qcom,spmi-temp-alarm";
66 compatible = "qcom,spmi-vadc";
100 compatible = "qcom,pma8084", "qcom,spmi-pmic";
H A Dpmx55.dtsi8 #include <dt-bindings/iio/qcom,spmi-vadc.h>
10 #include <dt-bindings/spmi/spmi.h>
14 compatible = "qcom,pmx55", "qcom,spmi-pmic";
27 compatible = "qcom,spmi-temp-alarm";
36 compatible = "qcom,spmi-adc5";
69 compatible = "qcom,pmx55-gpio", "qcom,spmi-gpio";
80 compatible = "qcom,pmx55", "qcom,spmi-pmic";
H A Dpm8226.dtsi2 #include <dt-bindings/iio/qcom,spmi-vadc.h>
5 #include <dt-bindings/spmi/spmi.h>
39 compatible = "qcom,pm8226", "qcom,spmi-pmic";
91 compatible = "qcom,spmi-temp-alarm";
100 compatible = "qcom,spmi-vadc";
133 compatible = "qcom,pm8226-iadc", "qcom,spmi-iadc";
146 compatible = "qcom,pm8226-mpp", "qcom,spmi-mpp";
156 compatible = "qcom,pm8226-gpio", "qcom,spmi-gpio";
167 compatible = "qcom,pm8226", "qcom,spmi-pmic";
/linux/Documentation/devicetree/bindings/nvmem/
H A Dapple,spmi-nvmem.yaml4 $id: http://devicetree.org/schemas/nvmem/apple,spmi-nvmem.yaml#
7 title: Apple SPMI NVMEM
9 description: Exports a series of SPMI registers as NVMEM cells
24 - const: apple,spmi-nvmem
37 #include <dt-bindings/spmi/spmi.h>
40 compatible = "apple,maverick-pmic", "apple,spmi-nvmem";
/linux/arch/arm64/boot/dts/hisilicon/
H A Dhikey970-pmic.dtsi3 * dts file for Hi6421v600 SPMI PMIC used at the HiKey970 Development Board
8 #include <dt-bindings/spmi/spmi.h>
11 spmi: spmi@fff24000 { label
12 compatible = "hisilicon,kirin970-spmi-controller";
16 hisilicon,spmi-channel = <2>;
19 compatible = "hisilicon,hi6421-spmi";
/linux/Documentation/devicetree/bindings/thermal/
H A Dqcom-spmi-adc-tm5.yaml4 $id: http://devicetree.org/schemas/thermal/qcom-spmi-adc-tm5.yaml#
7 title: Qualcomm's SPMI PMIC ADC Thermal Monitoring
16 - qcom,spmi-adc-tm5
17 - qcom,spmi-adc-tm5-gen2
135 const: qcom,spmi-adc-tm5
148 const: qcom,spmi-adc-tm5-gen2
166 #include <dt-bindings/iio/qcom,spmi-vadc.h>
174 compatible = "qcom,spmi-adc5";
190 compatible = "qcom,spmi-adc-tm5";
207 #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
[all …]

123456789