/linux/drivers/spmi/ |
H A D | spmi-apple-controller.c | 3 * 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 D | Kconfig | 3 # 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 D | Makefile | 3 # 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 D | apple,spmi.yaml | 4 $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 D | spmi.yaml | 4 $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 D | x1e80100-pmics.dtsi | 9 #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 D | sc8180x-pmics.dtsi | 9 #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 D | sc8280xp-pmics.dtsi | 6 #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 D | pm8550vs.dtsi | 7 #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 D | sa8775p-pmics.dtsi | 7 #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 D | sa8540p-pmics.dtsi | 8 #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 D | pm6150l.dtsi | 6 #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 D | pm8150l.dtsi | 7 #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 D | pmm8155au_1.dtsi | 8 #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 D | pm8998.dtsi | 4 #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 D | qcom,spmi-pmic.yaml | 4 $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 D | hisilicon,hi6421-spmi-pmic.yaml | 4 $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 D | qcom,spmi-vadc.yaml | 4 $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 D | spmi.h | 14 /* 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 D | pma8084.dtsi | 2 #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 D | pmx55.dtsi | 8 #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 D | pm8226.dtsi | 2 #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 D | apple,spmi-nvmem.yaml | 4 $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 D | hikey970-pmic.dtsi | 3 * 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 D | qcom-spmi-adc-tm5.yaml | 4 $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 …]
|