Loading Documentation/devicetree/bindings/regulator/act8945a-regulator.txt 0 → 100644 +80 −0 Original line number Diff line number Diff line Device-Tree bindings for regulators of Active-semi ACT8945A Multi-Function Device Required properties: - compatible: "active-semi,act8945a", please refer to ../mfd/act8945a.txt. Optional properties: - active-semi,vsel-high: Indicates if the VSEL pin is set to logic-high. If this property is missing, assume the VSEL pin is set to logic-low. Optional input supply properties: - vp1-supply: The input supply for REG_DCDC1 - vp2-supply: The input supply for REG_DCDC2 - vp3-supply: The input supply for REG_DCDC3 - inl45-supply: The input supply for REG_LDO1 and REG_LDO2 - inl67-supply: The input supply for REG_LDO3 and REG_LDO4 Any standard regulator properties can be used to configure the single regulator. The valid names for regulators are: REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4. Example: pmic@5b { compatible = "active-semi,act8945a"; reg = <0x5b>; status = "okay"; active-semi,vsel-high; regulators { vdd_1v35_reg: REG_DCDC1 { regulator-name = "VDD_1V35"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-always-on; }; vdd_1v2_reg: REG_DCDC2 { regulator-name = "VDD_1V2"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-always-on; }; vdd_3v3_reg: REG_DCDC3 { regulator-name = "VDD_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_fuse_reg: REG_LDO1 { regulator-name = "VDD_FUSE"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; vdd_3v3_lp_reg: REG_LDO2 { regulator-name = "VDD_3V3_LP"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_led_reg: REG_LDO3 { regulator-name = "VDD_LED"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_sdhc_1v8_reg: REG_LDO4 { regulator-name = "VDD_SDHC_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; }; }; Documentation/devicetree/bindings/sound/cs4271.txt +7 −0 Original line number Diff line number Diff line Loading @@ -33,12 +33,19 @@ Optional properties: Note that this is not needed in case the clocks are stable throughout the entire runtime of the codec. - vd-supply: Digital power - vl-supply: Logic power - va-supply: Analog Power Examples: codec_i2c: cs4271@10 { compatible = "cirrus,cs4271"; reg = <0x10>; reset-gpio = <&gpio 23 0>; vd-supply = <&vdd_3v3_reg>; vl-supply = <&vdd_3v3_reg>; va-supply = <&vdd_3v3_reg>; }; codec_spi: cs4271@0 { Loading drivers/regulator/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,15 @@ config REGULATOR_ACT8865 This driver controls a active-semi act8865 voltage output regulator via I2C bus. config REGULATOR_ACT8945A tristate "Active-semi ACT8945A voltage regulator" depends on MFD_ACT8945A help This driver controls a active-semi ACT8945A voltage regulator via I2C bus. The ACT8945A features three step-down DC/DC converters and four low-dropout linear regulators, along with a ActivePath battery charger. config REGULATOR_AD5398 tristate "Analog Devices AD5398/AD5821 regulators" depends on I2C Loading drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o obj-$(CONFIG_REGULATOR_ACT8865) += act8865-regulator.o obj-$(CONFIG_REGULATOR_ACT8945A) += act8945a-regulator.o obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o Loading drivers/regulator/act8865-regulator.c +4 −4 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ static const struct regulator_desc act8600_regulators[] = { .ops = &act8865_ldo_ops, .type = REGULATOR_VOLTAGE, .n_voltages = 1, .fixed_uV = 1800000, .fixed_uV = 3300000, .enable_reg = ACT8600_LDO910_CTRL, .enable_mask = ACT8865_ENA, .owner = THIS_MODULE, Loading Loading @@ -369,7 +369,7 @@ static int act8865_pdata_from_dt(struct device *dev, for (i = 0; i < num_matches; i++) { regulator->id = i; regulator->name = matches[i].name; regulator->platform_data = matches[i].init_data; regulator->init_data = matches[i].init_data; of_node[i] = matches[i].of_node; regulator++; } Loading @@ -396,7 +396,7 @@ static struct regulator_init_data for (i = 0; i < pdata->num_regulators; i++) { if (pdata->regulators[i].id == id) return pdata->regulators[i].platform_data; return pdata->regulators[i].init_data; } return NULL; Loading @@ -415,7 +415,7 @@ static void act8865_power_off(void) static int act8865_pmic_probe(struct i2c_client *client, const struct i2c_device_id *i2c_id) { static const struct regulator_desc *regulators; const struct regulator_desc *regulators; struct act8865_platform_data pdata_of, *pdata; struct device *dev = &client->dev; struct device_node **of_node; Loading Loading
Documentation/devicetree/bindings/regulator/act8945a-regulator.txt 0 → 100644 +80 −0 Original line number Diff line number Diff line Device-Tree bindings for regulators of Active-semi ACT8945A Multi-Function Device Required properties: - compatible: "active-semi,act8945a", please refer to ../mfd/act8945a.txt. Optional properties: - active-semi,vsel-high: Indicates if the VSEL pin is set to logic-high. If this property is missing, assume the VSEL pin is set to logic-low. Optional input supply properties: - vp1-supply: The input supply for REG_DCDC1 - vp2-supply: The input supply for REG_DCDC2 - vp3-supply: The input supply for REG_DCDC3 - inl45-supply: The input supply for REG_LDO1 and REG_LDO2 - inl67-supply: The input supply for REG_LDO3 and REG_LDO4 Any standard regulator properties can be used to configure the single regulator. The valid names for regulators are: REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4. Example: pmic@5b { compatible = "active-semi,act8945a"; reg = <0x5b>; status = "okay"; active-semi,vsel-high; regulators { vdd_1v35_reg: REG_DCDC1 { regulator-name = "VDD_1V35"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-always-on; }; vdd_1v2_reg: REG_DCDC2 { regulator-name = "VDD_1V2"; regulator-min-microvolt = <1100000>; regulator-max-microvolt = <1300000>; regulator-always-on; }; vdd_3v3_reg: REG_DCDC3 { regulator-name = "VDD_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_fuse_reg: REG_LDO1 { regulator-name = "VDD_FUSE"; regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; vdd_3v3_lp_reg: REG_LDO2 { regulator-name = "VDD_3V3_LP"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_led_reg: REG_LDO3 { regulator-name = "VDD_LED"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_sdhc_1v8_reg: REG_LDO4 { regulator-name = "VDD_SDHC_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; }; };
Documentation/devicetree/bindings/sound/cs4271.txt +7 −0 Original line number Diff line number Diff line Loading @@ -33,12 +33,19 @@ Optional properties: Note that this is not needed in case the clocks are stable throughout the entire runtime of the codec. - vd-supply: Digital power - vl-supply: Logic power - va-supply: Analog Power Examples: codec_i2c: cs4271@10 { compatible = "cirrus,cs4271"; reg = <0x10>; reset-gpio = <&gpio 23 0>; vd-supply = <&vdd_3v3_reg>; vl-supply = <&vdd_3v3_reg>; va-supply = <&vdd_3v3_reg>; }; codec_spi: cs4271@0 { Loading
drivers/regulator/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,15 @@ config REGULATOR_ACT8865 This driver controls a active-semi act8865 voltage output regulator via I2C bus. config REGULATOR_ACT8945A tristate "Active-semi ACT8945A voltage regulator" depends on MFD_ACT8945A help This driver controls a active-semi ACT8945A voltage regulator via I2C bus. The ACT8945A features three step-down DC/DC converters and four low-dropout linear regulators, along with a ActivePath battery charger. config REGULATOR_AD5398 tristate "Analog Devices AD5398/AD5821 regulators" depends on I2C Loading
drivers/regulator/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o obj-$(CONFIG_REGULATOR_AB3100) += ab3100.o obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o obj-$(CONFIG_REGULATOR_ACT8865) += act8865-regulator.o obj-$(CONFIG_REGULATOR_ACT8945A) += act8945a-regulator.o obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o Loading
drivers/regulator/act8865-regulator.c +4 −4 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ static const struct regulator_desc act8600_regulators[] = { .ops = &act8865_ldo_ops, .type = REGULATOR_VOLTAGE, .n_voltages = 1, .fixed_uV = 1800000, .fixed_uV = 3300000, .enable_reg = ACT8600_LDO910_CTRL, .enable_mask = ACT8865_ENA, .owner = THIS_MODULE, Loading Loading @@ -369,7 +369,7 @@ static int act8865_pdata_from_dt(struct device *dev, for (i = 0; i < num_matches; i++) { regulator->id = i; regulator->name = matches[i].name; regulator->platform_data = matches[i].init_data; regulator->init_data = matches[i].init_data; of_node[i] = matches[i].of_node; regulator++; } Loading @@ -396,7 +396,7 @@ static struct regulator_init_data for (i = 0; i < pdata->num_regulators; i++) { if (pdata->regulators[i].id == id) return pdata->regulators[i].platform_data; return pdata->regulators[i].init_data; } return NULL; Loading @@ -415,7 +415,7 @@ static void act8865_power_off(void) static int act8865_pmic_probe(struct i2c_client *client, const struct i2c_device_id *i2c_id) { static const struct regulator_desc *regulators; const struct regulator_desc *regulators; struct act8865_platform_data pdata_of, *pdata; struct device *dev = &client->dev; struct device_node **of_node; Loading