Loading Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator 0 → 100644 +27 −0 Original line number Diff line number Diff line What: /sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode Date: Jul 2018 KernelVersion: 4.19 Contact: Geert Uytterhoeven <geert+renesas@glider.be> Description: Read/write the current state of DDR Backup Mode, which controls if DDR power rails will be kept powered during system suspend. ("on"/"1" = enabled, "off"/"0" = disabled). Two types of power switches (or control signals) can be used: A. With a momentary power switch (or pulse signal), DDR Backup Mode is enabled by default when available, as the PMIC will be configured only during system suspend. B. With a toggle power switch (or level signal), the following steps must be followed exactly: 1. Configure PMIC for backup mode, to change the role of the accessory power switch from a power switch to a wake-up switch, 2. Switch accessory power switch off, to prepare for system suspend, which is a manual step not controlled by software, 3. Suspend system, 4. Switch accessory power switch on, to resume the system. DDR Backup Mode must be explicitly enabled by the user, to invoke step 1. See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. Users: User space applications for embedded boards equipped with a BD9571MWV PMIC. Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt 0 → 100644 +26 −0 Original line number Diff line number Diff line == Introduction== LLCC (Last Level Cache Controller) provides last level of cache memory in SOC, that can be shared by multiple clients. Clients here are different cores in the SOC, the idea is to minimize the local caches at the clients and migrate to common pool of memory. Cache memory is divided into partitions called slices which are assigned to clients. Clients can query the slice details, activate and deactivate them. Properties: - compatible: Usage: required Value type: <string> Definition: must be "qcom,sdm845-llcc" - reg: Usage: required Value Type: <prop-encoded-array> Definition: Start address and the the size of the register region. Example: cache-controller@1100000 { compatible = "qcom,sdm845-llcc"; reg = <0x1100000 0x250000>; }; Documentation/devicetree/bindings/regulator/cpcap-regulator.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ Requires node properties: - "compatible" value one of: "motorola,cpcap-regulator" "motorola,mapphone-cpcap-regulator" "motorola,xoom-cpcap-regulator" Required regulator properties: - "regulator-name" Loading Documentation/devicetree/bindings/regulator/pfuze100.txt +85 −1 Original line number Diff line number Diff line PFUZE100 family of regulators Required properties: - compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000" - compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001" - reg: I2C slave address Optional properties: - fsl,pfuze-support-disable-sw: Boolean, if present disable all unused switch regulators to save power consumption. Attention, ensure that all important regulators (e.g. DDR ref, DDR supply) has set the "regulator-always-on" property. If not present, the switched regualtors are always on and can't be disabled. This binding is a workaround to keep backward compatibility with old dtb's which rely on the fact that the switched regulators are always on and don't mark them explicit as "regulator-always-on". Required child node: - regulators: This is the list of child nodes that specify the regulator initialization data for defined regulators. Please refer to below doc Loading @@ -16,6 +25,8 @@ Required child node: sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin --PFUZE3000 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4 --PFUZE3001 sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4 Each regulator is defined using the standard binding for regulators. Loading Loading @@ -303,3 +314,76 @@ Example 3: PFUZE3000 }; }; }; Example 4: PFUZE 3001 pfuze3001: pmic@8 { compatible = "fsl,pfuze3001"; reg = <0x08>; regulators { sw1_reg: sw1 { regulator-min-microvolt = <700000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; sw2_reg: sw2 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; sw3_reg: sw3 { regulator-min-microvolt = <900000>; regulator-max-microvolt = <1650000>; regulator-boot-on; regulator-always-on; }; snvs_reg: vsnvs { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; regulator-boot-on; regulator-always-on; }; vgen1_reg: vldo1 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen2_reg: vldo2 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <1550000>; regulator-always-on; }; vgen3_reg: vccsd { regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen4_reg: v33 { regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen5_reg: vldo3 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen6_reg: vldo4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; }; Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt 0 → 100644 +160 −0 Original line number Diff line number Diff line Qualcomm Technologies, Inc. RPMh Regulators rpmh-regulator devices support PMIC regulator management via the Voltage Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS processor communicates with these hardware blocks via a Resource State Coordinator (RSC) using command packets. The VRM allows changing three parameters for a given regulator: enable state, output voltage, and operating mode. The XOB allows changing only a single parameter for a given regulator: its enable state. Despite its name, the XOB is capable of controlling the enable state of any PMIC peripheral. It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators which have a fixed voltage and mode. ======================= Required Node Structure ======================= RPMh regulators must be described in two levels of device nodes. The first level describes the PMIC containing the regulators and must reside within an RPMh device node. The second level describes each regulator within the PMIC which is to be used on the board. Each of these regulators maps to a single RPMh resource. The names used for regulator nodes must match those supported by a given PMIC. Supported regulator node names: PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 PMI8998: bob PM8005: smps1 - smps4 ======================== First Level Nodes - PMIC ======================== - compatible Usage: required Value type: <string> Definition: Must be one of: "qcom,pm8998-rpmh-regulators", "qcom,pmi8998-rpmh-regulators" or "qcom,pm8005-rpmh-regulators". - qcom,pmic-id Usage: required Value type: <string> Definition: RPMh resource name suffix used for the regulators found on this PMIC. Typical values: "a", "b", "c", "d", "e", "f". - vdd-s1-supply - vdd-s2-supply - vdd-s3-supply - vdd-s4-supply Usage: optional (PM8998 and PM8005 only) Value type: <phandle> Definition: phandle of the parent supply regulator of one or more of the regulators for this PMIC. - vdd-s5-supply - vdd-s6-supply - vdd-s7-supply - vdd-s8-supply - vdd-s9-supply - vdd-s10-supply - vdd-s11-supply - vdd-s12-supply - vdd-s13-supply - vdd-l1-l27-supply - vdd-l2-l8-l17-supply - vdd-l3-l11-supply - vdd-l4-l5-supply - vdd-l6-supply - vdd-l7-l12-l14-l15-supply - vdd-l9-supply - vdd-l10-l23-l25-supply - vdd-l13-l19-l21-supply - vdd-l16-l28-supply - vdd-l18-l22-supply - vdd-l20-l24-supply - vdd-l26-supply - vin-lvs-1-2-supply Usage: optional (PM8998 only) Value type: <phandle> Definition: phandle of the parent supply regulator of one or more of the regulators for this PMIC. - vdd-bob-supply Usage: optional (PMI8998 only) Value type: <phandle> Definition: BOB regulator parent supply phandle =============================== Second Level Nodes - Regulators =============================== - qcom,always-wait-for-ack Usage: optional Value type: <empty> Definition: Boolean flag which indicates that the application processor must wait for an ACK or a NACK from RPMh for every request sent for this regulator including those which are for a strictly lower power state. Other properties defined in Documentation/devicetree/bindings/regulator.txt may also be used. regulator-initial-mode and regulator-allowed-modes may be specified for VRM regulators using mode values from include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass may be specified for BOB type regulators managed via VRM. regulator-allow-set-load may be specified for LDO type regulators managed via VRM. ======== Examples ======== #include <dt-bindings/regulator/qcom,rpmh-regulator.h> &apps_rsc { pm8998-rpmh-regulators { compatible = "qcom,pm8998-rpmh-regulators"; qcom,pmic-id = "a"; vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; smps2 { regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; }; pm8998_s5: smps5 { regulator-min-microvolt = <1904000>; regulator-max-microvolt = <2040000>; }; ldo7 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; }; lvs1 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; }; pmi8998-rpmh-regulators { compatible = "qcom,pmi8998-rpmh-regulators"; qcom,pmic-id = "b"; bob { regulator-min-microvolt = <3312000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; }; }; }; Loading
Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator 0 → 100644 +27 −0 Original line number Diff line number Diff line What: /sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode Date: Jul 2018 KernelVersion: 4.19 Contact: Geert Uytterhoeven <geert+renesas@glider.be> Description: Read/write the current state of DDR Backup Mode, which controls if DDR power rails will be kept powered during system suspend. ("on"/"1" = enabled, "off"/"0" = disabled). Two types of power switches (or control signals) can be used: A. With a momentary power switch (or pulse signal), DDR Backup Mode is enabled by default when available, as the PMIC will be configured only during system suspend. B. With a toggle power switch (or level signal), the following steps must be followed exactly: 1. Configure PMIC for backup mode, to change the role of the accessory power switch from a power switch to a wake-up switch, 2. Switch accessory power switch off, to prepare for system suspend, which is a manual step not controlled by software, 3. Suspend system, 4. Switch accessory power switch on, to resume the system. DDR Backup Mode must be explicitly enabled by the user, to invoke step 1. See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt. Users: User space applications for embedded boards equipped with a BD9571MWV PMIC.
Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt 0 → 100644 +26 −0 Original line number Diff line number Diff line == Introduction== LLCC (Last Level Cache Controller) provides last level of cache memory in SOC, that can be shared by multiple clients. Clients here are different cores in the SOC, the idea is to minimize the local caches at the clients and migrate to common pool of memory. Cache memory is divided into partitions called slices which are assigned to clients. Clients can query the slice details, activate and deactivate them. Properties: - compatible: Usage: required Value type: <string> Definition: must be "qcom,sdm845-llcc" - reg: Usage: required Value Type: <prop-encoded-array> Definition: Start address and the the size of the register region. Example: cache-controller@1100000 { compatible = "qcom,sdm845-llcc"; reg = <0x1100000 0x250000>; };
Documentation/devicetree/bindings/regulator/cpcap-regulator.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ Requires node properties: - "compatible" value one of: "motorola,cpcap-regulator" "motorola,mapphone-cpcap-regulator" "motorola,xoom-cpcap-regulator" Required regulator properties: - "regulator-name" Loading
Documentation/devicetree/bindings/regulator/pfuze100.txt +85 −1 Original line number Diff line number Diff line PFUZE100 family of regulators Required properties: - compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000" - compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001" - reg: I2C slave address Optional properties: - fsl,pfuze-support-disable-sw: Boolean, if present disable all unused switch regulators to save power consumption. Attention, ensure that all important regulators (e.g. DDR ref, DDR supply) has set the "regulator-always-on" property. If not present, the switched regualtors are always on and can't be disabled. This binding is a workaround to keep backward compatibility with old dtb's which rely on the fact that the switched regulators are always on and don't mark them explicit as "regulator-always-on". Required child node: - regulators: This is the list of child nodes that specify the regulator initialization data for defined regulators. Please refer to below doc Loading @@ -16,6 +25,8 @@ Required child node: sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin --PFUZE3000 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4 --PFUZE3001 sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4 Each regulator is defined using the standard binding for regulators. Loading Loading @@ -303,3 +314,76 @@ Example 3: PFUZE3000 }; }; }; Example 4: PFUZE 3001 pfuze3001: pmic@8 { compatible = "fsl,pfuze3001"; reg = <0x08>; regulators { sw1_reg: sw1 { regulator-min-microvolt = <700000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; sw2_reg: sw2 { regulator-min-microvolt = <1500000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; sw3_reg: sw3 { regulator-min-microvolt = <900000>; regulator-max-microvolt = <1650000>; regulator-boot-on; regulator-always-on; }; snvs_reg: vsnvs { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; regulator-boot-on; regulator-always-on; }; vgen1_reg: vldo1 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen2_reg: vldo2 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <1550000>; regulator-always-on; }; vgen3_reg: vccsd { regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen4_reg: v33 { regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen5_reg: vldo3 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen6_reg: vldo4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; };
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt 0 → 100644 +160 −0 Original line number Diff line number Diff line Qualcomm Technologies, Inc. RPMh Regulators rpmh-regulator devices support PMIC regulator management via the Voltage Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS processor communicates with these hardware blocks via a Resource State Coordinator (RSC) using command packets. The VRM allows changing three parameters for a given regulator: enable state, output voltage, and operating mode. The XOB allows changing only a single parameter for a given regulator: its enable state. Despite its name, the XOB is capable of controlling the enable state of any PMIC peripheral. It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators which have a fixed voltage and mode. ======================= Required Node Structure ======================= RPMh regulators must be described in two levels of device nodes. The first level describes the PMIC containing the regulators and must reside within an RPMh device node. The second level describes each regulator within the PMIC which is to be used on the board. Each of these regulators maps to a single RPMh resource. The names used for regulator nodes must match those supported by a given PMIC. Supported regulator node names: PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 PMI8998: bob PM8005: smps1 - smps4 ======================== First Level Nodes - PMIC ======================== - compatible Usage: required Value type: <string> Definition: Must be one of: "qcom,pm8998-rpmh-regulators", "qcom,pmi8998-rpmh-regulators" or "qcom,pm8005-rpmh-regulators". - qcom,pmic-id Usage: required Value type: <string> Definition: RPMh resource name suffix used for the regulators found on this PMIC. Typical values: "a", "b", "c", "d", "e", "f". - vdd-s1-supply - vdd-s2-supply - vdd-s3-supply - vdd-s4-supply Usage: optional (PM8998 and PM8005 only) Value type: <phandle> Definition: phandle of the parent supply regulator of one or more of the regulators for this PMIC. - vdd-s5-supply - vdd-s6-supply - vdd-s7-supply - vdd-s8-supply - vdd-s9-supply - vdd-s10-supply - vdd-s11-supply - vdd-s12-supply - vdd-s13-supply - vdd-l1-l27-supply - vdd-l2-l8-l17-supply - vdd-l3-l11-supply - vdd-l4-l5-supply - vdd-l6-supply - vdd-l7-l12-l14-l15-supply - vdd-l9-supply - vdd-l10-l23-l25-supply - vdd-l13-l19-l21-supply - vdd-l16-l28-supply - vdd-l18-l22-supply - vdd-l20-l24-supply - vdd-l26-supply - vin-lvs-1-2-supply Usage: optional (PM8998 only) Value type: <phandle> Definition: phandle of the parent supply regulator of one or more of the regulators for this PMIC. - vdd-bob-supply Usage: optional (PMI8998 only) Value type: <phandle> Definition: BOB regulator parent supply phandle =============================== Second Level Nodes - Regulators =============================== - qcom,always-wait-for-ack Usage: optional Value type: <empty> Definition: Boolean flag which indicates that the application processor must wait for an ACK or a NACK from RPMh for every request sent for this regulator including those which are for a strictly lower power state. Other properties defined in Documentation/devicetree/bindings/regulator.txt may also be used. regulator-initial-mode and regulator-allowed-modes may be specified for VRM regulators using mode values from include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass may be specified for BOB type regulators managed via VRM. regulator-allow-set-load may be specified for LDO type regulators managed via VRM. ======== Examples ======== #include <dt-bindings/regulator/qcom,rpmh-regulator.h> &apps_rsc { pm8998-rpmh-regulators { compatible = "qcom,pm8998-rpmh-regulators"; qcom,pmic-id = "a"; vdd-l7-l12-l14-l15-supply = <&pm8998_s5>; smps2 { regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1100000>; }; pm8998_s5: smps5 { regulator-min-microvolt = <1904000>; regulator-max-microvolt = <2040000>; }; ldo7 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM RPMH_REGULATOR_MODE_HPM>; regulator-allow-set-load; }; lvs1 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; }; pmi8998-rpmh-regulators { compatible = "qcom,pmi8998-rpmh-regulators"; qcom,pmic-id = "b"; bob { regulator-min-microvolt = <3312000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <RPMH_REGULATOR_MODE_AUTO RPMH_REGULATOR_MODE_HPM>; regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; }; }; };