Loading Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt +9 −8 Original line number Original line Diff line number Diff line * ROHM BD71837 Power Management Integrated Circuit bindings * ROHM BD71837 and BD71847 Power Management Integrated Circuit bindings BD71837MWV is a programmable Power Management IC for powering single-core, BD71837MWV and BD71847MWV are programmable Power Management ICs for powering dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are low BOM cost and compact solution footprint. It integrates 8 Buck optimized for low BOM cost and compact solution footprint. BD71837MWV egulators and 7 LDOs to provide all the power rails required by the SoC and integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulators the commonly used peripherals. and 6 LDOs. Datasheet for PMIC is available at: Datasheet for BD71837 is available at: https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e Required properties: Required properties: - compatible : Should be "rohm,bd71837". - compatible : Should be "rohm,bd71837" for bd71837 "rohm,bd71847" for bd71847. - reg : I2C slave address. - reg : I2C slave address. - interrupt-parent : Phandle to the parent interrupt controller. - interrupt-parent : Phandle to the parent interrupt controller. - interrupts : The interrupt line the device is connected to. - interrupts : The interrupt line the device is connected to. Loading Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt +23 −0 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ Regulator nodes are identified by their compatible: "qcom,rpm-pm8998-regulators" "qcom,rpm-pm8998-regulators" "qcom,rpm-pma8084-regulators" "qcom,rpm-pma8084-regulators" "qcom,rpm-pmi8998-regulators" "qcom,rpm-pmi8998-regulators" "qcom,rpm-pms405-regulators" - vdd_s1-supply: - vdd_s1-supply: - vdd_s2-supply: - vdd_s2-supply: Loading Loading @@ -188,6 +189,24 @@ Regulator nodes are identified by their compatible: Definition: reference to regulator supplying the input pin, as Definition: reference to regulator supplying the input pin, as described in the data sheet described in the data sheet - vdd_s1-supply: - vdd_s2-supply: - vdd_s3-supply: - vdd_s4-supply: - vdd_s5-supply: - vdd_l1_l2-supply: - vdd_l3_l8-supply: - vdd_l4-supply: - vdd_l5_l6-supply: - vdd_l7-supply: - vdd_l3_l8-supply: - vdd_l9-supply: - vdd_l10_l11_l12_l13-supply: Usage: optional (pms405 only) Value type: <phandle> Definition: reference to regulator supplying the input pin, as described in the data sheet The regulator node houses sub-nodes for each regulator within the device. Each The regulator node houses sub-nodes for each regulator within the device. Each sub-node is identified using the node's name, with valid values listed for each sub-node is identified using the node's name, with valid values listed for each of the pmics below. of the pmics below. Loading Loading @@ -222,6 +241,10 @@ pma8084: pmi8998: pmi8998: bob bob pms405: s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13 The content of each sub-node is defined by the standard binding for regulators - The content of each sub-node is defined by the standard binding for regulators - see regulator.txt. see regulator.txt. Loading Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt +9 −3 Original line number Original line Diff line number Diff line ROHM BD71837 Power Management Integrated Circuit (PMIC) regulator bindings ROHM BD71837 and BD71847 Power Management Integrated Circuit regulator bindings Required properties: Required properties: - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7" - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7" for BD71837. For BD71847 names should be "buck1", ..., "buck6" and "ldo1", ..., "ldo6" List of regulators provided by this controller. BD71837 regulators node List of regulators provided by this controller. BD71837 regulators node should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at Loading @@ -16,10 +18,14 @@ disabled by driver at startup. LDO5 and LDO6 are supplied by those and if they are disabled at startup the voltage monitoring for LDO5/LDO6 will if they are disabled at startup the voltage monitoring for LDO5/LDO6 will cause PMIC to reset. cause PMIC to reset. The valid names for regulator nodes are: The valid names for BD71837 regulator nodes are: BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 The valid names for BD71847 regulator nodes are: BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6 Optional properties: Optional properties: - Any optional property defined in bindings/regulator/regulator.txt - Any optional property defined in bindings/regulator/regulator.txt Loading Documentation/devicetree/bindings/regulator/st,stpmic1-regulator.txt 0 → 100644 +68 −0 Original line number Original line Diff line number Diff line STMicroelectronics STPMIC1 Voltage regulators Regulator Nodes are optional depending on needs. Available Regulators in STPMIC1 device are: - buck1 for Buck BUCK1 - buck2 for Buck BUCK2 - buck3 for Buck BUCK3 - buck4 for Buck BUCK4 - ldo1 for LDO LDO1 - ldo2 for LDO LDO2 - ldo3 for LDO LDO3 - ldo4 for LDO LDO4 - ldo5 for LDO LDO5 - ldo6 for LDO LDO6 - vref_ddr for LDO Vref DDR - boost for Buck BOOST - pwr_sw1 for VBUS_OTG switch - pwr_sw2 for SW_OUT switch Switches are fixed voltage regulators with only enable/disable capability. Optional properties: - st,mask-reset: mask reset for this regulator: the regulator configuration is maintained during pmic reset. - regulator-pull-down: enable high pull down if not specified light pull down is used - regulator-over-current-protection: if set, all regulators are switched off in case of over-current detection on this regulator, if not set, the driver only sends an over-current event. - interrupt-parent: phandle to the parent interrupt controller - interrupts: index of current limit detection interrupt - <regulator>-supply: phandle to the parent supply/regulator node each regulator supply can be described except vref_ddr. Example: regulators { compatible = "st,stpmic1-regulators"; ldo6-supply = <&v3v3>; vdd_core: buck1 { regulator-name = "vdd_core"; interrupts = <IT_CURLIM_BUCK1 0>; interrupt-parent = <&pmic>; st,mask-reset; regulator-pull-down; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1200000>; }; v3v3: buck4 { regulator-name = "v3v3"; interrupts = <IT_CURLIM_BUCK4 0>; interrupt-parent = <&mypmic>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; v1v8: ldo6 { regulator-name = "v1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-over-current-protection; }; }; arch/arm/mach-imx/mach-mx21ads.c +11 −1 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h> #include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h> #include <linux/gpio/driver.h> #include <linux/gpio/driver.h> #include <linux/gpio/machine.h> #include <linux/gpio.h> #include <linux/gpio.h> #include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h> #include <linux/regulator/machine.h> #include <linux/regulator/machine.h> Loading Loading @@ -175,6 +176,7 @@ static struct resource mx21ads_mmgpio_resource = DEFINE_RES_MEM_NAMED(MX21ADS_IO_REG, SZ_2, "dat"); DEFINE_RES_MEM_NAMED(MX21ADS_IO_REG, SZ_2, "dat"); static struct bgpio_pdata mx21ads_mmgpio_pdata = { static struct bgpio_pdata mx21ads_mmgpio_pdata = { .label = "mx21ads-mmgpio", .base = MX21ADS_MMGPIO_BASE, .base = MX21ADS_MMGPIO_BASE, .ngpio = 16, .ngpio = 16, }; }; Loading Loading @@ -203,7 +205,6 @@ static struct regulator_init_data mx21ads_lcd_regulator_init_data = { static struct fixed_voltage_config mx21ads_lcd_regulator_pdata = { static struct fixed_voltage_config mx21ads_lcd_regulator_pdata = { .supply_name = "LCD", .supply_name = "LCD", .microvolts = 3300000, .microvolts = 3300000, .gpio = MX21ADS_IO_LCDON, .enable_high = 1, .enable_high = 1, .init_data = &mx21ads_lcd_regulator_init_data, .init_data = &mx21ads_lcd_regulator_init_data, }; }; Loading @@ -216,6 +217,14 @@ static struct platform_device mx21ads_lcd_regulator = { }, }, }; }; static struct gpiod_lookup_table mx21ads_lcd_regulator_gpiod_table = { .dev_id = "reg-fixed-voltage.0", /* Let's hope ID 0 is what we get */ .table = { GPIO_LOOKUP("mx21ads-mmgpio", 9, NULL, GPIO_ACTIVE_HIGH), { }, }, }; /* /* * Connected is a portrait Sharp-QVGA display * Connected is a portrait Sharp-QVGA display * of type: LQ035Q7DB02 * of type: LQ035Q7DB02 Loading Loading @@ -311,6 +320,7 @@ static void __init mx21ads_late_init(void) { { imx21_add_mxc_mmc(0, &mx21ads_sdhc_pdata); imx21_add_mxc_mmc(0, &mx21ads_sdhc_pdata); gpiod_add_lookup_table(&mx21ads_lcd_regulator_gpiod_table); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); mx21ads_cs8900_resources[1].start = mx21ads_cs8900_resources[1].start = Loading Loading
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt +9 −8 Original line number Original line Diff line number Diff line * ROHM BD71837 Power Management Integrated Circuit bindings * ROHM BD71837 and BD71847 Power Management Integrated Circuit bindings BD71837MWV is a programmable Power Management IC for powering single-core, BD71837MWV and BD71847MWV are programmable Power Management ICs for powering dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. They are low BOM cost and compact solution footprint. It integrates 8 Buck optimized for low BOM cost and compact solution footprint. BD71837MWV egulators and 7 LDOs to provide all the power rails required by the SoC and integrates 8 Buck regulators and 7 LDOs. BD71847MWV contains 6 Buck regulators the commonly used peripherals. and 6 LDOs. Datasheet for PMIC is available at: Datasheet for BD71837 is available at: https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e Required properties: Required properties: - compatible : Should be "rohm,bd71837". - compatible : Should be "rohm,bd71837" for bd71837 "rohm,bd71847" for bd71847. - reg : I2C slave address. - reg : I2C slave address. - interrupt-parent : Phandle to the parent interrupt controller. - interrupt-parent : Phandle to the parent interrupt controller. - interrupts : The interrupt line the device is connected to. - interrupts : The interrupt line the device is connected to. Loading
Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt +23 −0 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ Regulator nodes are identified by their compatible: "qcom,rpm-pm8998-regulators" "qcom,rpm-pm8998-regulators" "qcom,rpm-pma8084-regulators" "qcom,rpm-pma8084-regulators" "qcom,rpm-pmi8998-regulators" "qcom,rpm-pmi8998-regulators" "qcom,rpm-pms405-regulators" - vdd_s1-supply: - vdd_s1-supply: - vdd_s2-supply: - vdd_s2-supply: Loading Loading @@ -188,6 +189,24 @@ Regulator nodes are identified by their compatible: Definition: reference to regulator supplying the input pin, as Definition: reference to regulator supplying the input pin, as described in the data sheet described in the data sheet - vdd_s1-supply: - vdd_s2-supply: - vdd_s3-supply: - vdd_s4-supply: - vdd_s5-supply: - vdd_l1_l2-supply: - vdd_l3_l8-supply: - vdd_l4-supply: - vdd_l5_l6-supply: - vdd_l7-supply: - vdd_l3_l8-supply: - vdd_l9-supply: - vdd_l10_l11_l12_l13-supply: Usage: optional (pms405 only) Value type: <phandle> Definition: reference to regulator supplying the input pin, as described in the data sheet The regulator node houses sub-nodes for each regulator within the device. Each The regulator node houses sub-nodes for each regulator within the device. Each sub-node is identified using the node's name, with valid values listed for each sub-node is identified using the node's name, with valid values listed for each of the pmics below. of the pmics below. Loading Loading @@ -222,6 +241,10 @@ pma8084: pmi8998: pmi8998: bob bob pms405: s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13 The content of each sub-node is defined by the standard binding for regulators - The content of each sub-node is defined by the standard binding for regulators - see regulator.txt. see regulator.txt. Loading
Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt +9 −3 Original line number Original line Diff line number Diff line ROHM BD71837 Power Management Integrated Circuit (PMIC) regulator bindings ROHM BD71837 and BD71847 Power Management Integrated Circuit regulator bindings Required properties: Required properties: - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7" - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7" for BD71837. For BD71847 names should be "buck1", ..., "buck6" and "ldo1", ..., "ldo6" List of regulators provided by this controller. BD71837 regulators node List of regulators provided by this controller. BD71837 regulators node should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at Loading @@ -16,10 +18,14 @@ disabled by driver at startup. LDO5 and LDO6 are supplied by those and if they are disabled at startup the voltage monitoring for LDO5/LDO6 will if they are disabled at startup the voltage monitoring for LDO5/LDO6 will cause PMIC to reset. cause PMIC to reset. The valid names for regulator nodes are: The valid names for BD71837 regulator nodes are: BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7 The valid names for BD71847 regulator nodes are: BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6 LDO1, LDO2, LDO3, LDO4, LDO5, LDO6 Optional properties: Optional properties: - Any optional property defined in bindings/regulator/regulator.txt - Any optional property defined in bindings/regulator/regulator.txt Loading
Documentation/devicetree/bindings/regulator/st,stpmic1-regulator.txt 0 → 100644 +68 −0 Original line number Original line Diff line number Diff line STMicroelectronics STPMIC1 Voltage regulators Regulator Nodes are optional depending on needs. Available Regulators in STPMIC1 device are: - buck1 for Buck BUCK1 - buck2 for Buck BUCK2 - buck3 for Buck BUCK3 - buck4 for Buck BUCK4 - ldo1 for LDO LDO1 - ldo2 for LDO LDO2 - ldo3 for LDO LDO3 - ldo4 for LDO LDO4 - ldo5 for LDO LDO5 - ldo6 for LDO LDO6 - vref_ddr for LDO Vref DDR - boost for Buck BOOST - pwr_sw1 for VBUS_OTG switch - pwr_sw2 for SW_OUT switch Switches are fixed voltage regulators with only enable/disable capability. Optional properties: - st,mask-reset: mask reset for this regulator: the regulator configuration is maintained during pmic reset. - regulator-pull-down: enable high pull down if not specified light pull down is used - regulator-over-current-protection: if set, all regulators are switched off in case of over-current detection on this regulator, if not set, the driver only sends an over-current event. - interrupt-parent: phandle to the parent interrupt controller - interrupts: index of current limit detection interrupt - <regulator>-supply: phandle to the parent supply/regulator node each regulator supply can be described except vref_ddr. Example: regulators { compatible = "st,stpmic1-regulators"; ldo6-supply = <&v3v3>; vdd_core: buck1 { regulator-name = "vdd_core"; interrupts = <IT_CURLIM_BUCK1 0>; interrupt-parent = <&pmic>; st,mask-reset; regulator-pull-down; regulator-min-microvolt = <700000>; regulator-max-microvolt = <1200000>; }; v3v3: buck4 { regulator-name = "v3v3"; interrupts = <IT_CURLIM_BUCK4 0>; interrupt-parent = <&mypmic>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; v1v8: ldo6 { regulator-name = "v1v8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-over-current-protection; }; };
arch/arm/mach-imx/mach-mx21ads.c +11 −1 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h> #include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h> #include <linux/gpio/driver.h> #include <linux/gpio/driver.h> #include <linux/gpio/machine.h> #include <linux/gpio.h> #include <linux/gpio.h> #include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h> #include <linux/regulator/machine.h> #include <linux/regulator/machine.h> Loading Loading @@ -175,6 +176,7 @@ static struct resource mx21ads_mmgpio_resource = DEFINE_RES_MEM_NAMED(MX21ADS_IO_REG, SZ_2, "dat"); DEFINE_RES_MEM_NAMED(MX21ADS_IO_REG, SZ_2, "dat"); static struct bgpio_pdata mx21ads_mmgpio_pdata = { static struct bgpio_pdata mx21ads_mmgpio_pdata = { .label = "mx21ads-mmgpio", .base = MX21ADS_MMGPIO_BASE, .base = MX21ADS_MMGPIO_BASE, .ngpio = 16, .ngpio = 16, }; }; Loading Loading @@ -203,7 +205,6 @@ static struct regulator_init_data mx21ads_lcd_regulator_init_data = { static struct fixed_voltage_config mx21ads_lcd_regulator_pdata = { static struct fixed_voltage_config mx21ads_lcd_regulator_pdata = { .supply_name = "LCD", .supply_name = "LCD", .microvolts = 3300000, .microvolts = 3300000, .gpio = MX21ADS_IO_LCDON, .enable_high = 1, .enable_high = 1, .init_data = &mx21ads_lcd_regulator_init_data, .init_data = &mx21ads_lcd_regulator_init_data, }; }; Loading @@ -216,6 +217,14 @@ static struct platform_device mx21ads_lcd_regulator = { }, }, }; }; static struct gpiod_lookup_table mx21ads_lcd_regulator_gpiod_table = { .dev_id = "reg-fixed-voltage.0", /* Let's hope ID 0 is what we get */ .table = { GPIO_LOOKUP("mx21ads-mmgpio", 9, NULL, GPIO_ACTIVE_HIGH), { }, }, }; /* /* * Connected is a portrait Sharp-QVGA display * Connected is a portrait Sharp-QVGA display * of type: LQ035Q7DB02 * of type: LQ035Q7DB02 Loading Loading @@ -311,6 +320,7 @@ static void __init mx21ads_late_init(void) { { imx21_add_mxc_mmc(0, &mx21ads_sdhc_pdata); imx21_add_mxc_mmc(0, &mx21ads_sdhc_pdata); gpiod_add_lookup_table(&mx21ads_lcd_regulator_gpiod_table); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); mx21ads_cs8900_resources[1].start = mx21ads_cs8900_resources[1].start = Loading