Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge remote-tracking branches 'regulator/topic/da9211', 'regulator/topic/pfuze100' and 'regulator/topic/tps65218' into regulator-next

+95 -37
+75 -7
Documentation/devicetree/bindings/regulator/da9211.txt
··· 1 - * Dialog Semiconductor DA9211/DA9212/DA9213/DA9214/DA9215 Voltage Regulator 1 + * Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 2 + Voltage Regulator 2 3 3 4 Required properties: 4 - - compatible: "dlg,da9211" or "dlg,da9212" or "dlg,da9213" 5 - or "dlg,da9214" or "dlg,da9215" 5 + - compatible: "dlg,da9211" or "dlg,da9212" or "dlg,da9213" or "dlg,da9223" 6 + or "dlg,da9214" or "dlg,da9224" or "dlg,da9215" or "dlg,da9225" 6 7 - reg: I2C slave address, usually 0x68. 7 8 - interrupts: the interrupt outputs of the controller 8 9 - regulators: A node that houses a sub-node for each regulator within the ··· 17 16 - Any optional property defined in regulator.txt 18 17 19 18 Example 1) DA9211 20 - 21 19 pmic: da9211@68 { 22 20 compatible = "dlg,da9211"; 23 21 reg = <0x68>; ··· 35 35 }; 36 36 37 37 Example 2) DA9212 38 - 39 38 pmic: da9212@68 { 40 39 compatible = "dlg,da9212"; 41 40 reg = <0x68>; ··· 78 79 }; 79 80 }; 80 81 81 - Example 4) DA9214 82 + Example 4) DA9223 83 + pmic: da9223@68 { 84 + compatible = "dlg,da9223"; 85 + reg = <0x68>; 86 + interrupts = <3 27>; 87 + 88 + regulators { 89 + BUCKA { 90 + regulator-name = "VBUCKA"; 91 + regulator-min-microvolt = < 300000>; 92 + regulator-max-microvolt = <1570000>; 93 + regulator-min-microamp = <3000000>; 94 + regulator-max-microamp = <6000000>; 95 + enable-gpios = <&gpio 27 0>; 96 + }; 97 + }; 98 + }; 99 + 100 + Example 5) DA9214 82 101 pmic: da9214@68 { 83 102 compatible = "dlg,da9214"; 84 103 reg = <0x68>; ··· 122 105 }; 123 106 }; 124 107 125 - Example 5) DA9215 108 + Example 6) DA9224 109 + pmic: da9224@68 { 110 + compatible = "dlg,da9224"; 111 + reg = <0x68>; 112 + interrupts = <3 27>; 113 + 114 + regulators { 115 + BUCKA { 116 + regulator-name = "VBUCKA"; 117 + regulator-min-microvolt = < 300000>; 118 + regulator-max-microvolt = <1570000>; 119 + regulator-min-microamp = <3000000>; 120 + regulator-max-microamp = <6000000>; 121 + enable-gpios = <&gpio 27 0>; 122 + }; 123 + BUCKB { 124 + regulator-name = "VBUCKB"; 125 + regulator-min-microvolt = < 300000>; 126 + regulator-max-microvolt = <1570000>; 127 + regulator-min-microamp = <3000000>; 128 + regulator-max-microamp = <6000000>; 129 + enable-gpios = <&gpio 17 0>; 130 + }; 131 + }; 132 + }; 133 + 134 + Example 7) DA9215 126 135 pmic: da9215@68 { 127 136 compatible = "dlg,da9215"; 128 137 reg = <0x68>; ··· 174 131 }; 175 132 }; 176 133 134 + Example 8) DA9225 135 + pmic: da9225@68 { 136 + compatible = "dlg,da9225"; 137 + reg = <0x68>; 138 + interrupts = <3 27>; 139 + 140 + regulators { 141 + BUCKA { 142 + regulator-name = "VBUCKA"; 143 + regulator-min-microvolt = < 300000>; 144 + regulator-max-microvolt = <1570000>; 145 + regulator-min-microamp = <4000000>; 146 + regulator-max-microamp = <7000000>; 147 + enable-gpios = <&gpio 27 0>; 148 + }; 149 + BUCKB { 150 + regulator-name = "VBUCKB"; 151 + regulator-min-microvolt = < 300000>; 152 + regulator-max-microvolt = <1570000>; 153 + regulator-min-microamp = <4000000>; 154 + regulator-max-microamp = <7000000>; 155 + enable-gpios = <&gpio 17 0>; 156 + }; 157 + }; 158 + };
+3 -3
Documentation/devicetree/bindings/regulator/pfuze100.txt
··· 21 21 22 22 Example 1: PFUZE100 23 23 24 - pmic: pfuze100@08 { 24 + pmic: pfuze100@8 { 25 25 compatible = "fsl,pfuze100"; 26 26 reg = <0x08>; 27 27 ··· 122 122 123 123 Example 2: PFUZE200 124 124 125 - pmic: pfuze200@08 { 125 + pmic: pfuze200@8 { 126 126 compatible = "fsl,pfuze200"; 127 127 reg = <0x08>; 128 128 ··· 216 216 217 217 Example 3: PFUZE3000 218 218 219 - pmic: pfuze3000@08 { 219 + pmic: pfuze3000@8 { 220 220 compatible = "fsl,pfuze3000"; 221 221 reg = <0x08>; 222 222
+1 -1
drivers/regulator/Kconfig
··· 244 244 interface. 245 245 246 246 config REGULATOR_DA9211 247 - tristate "Dialog Semiconductor DA9211/DA9212/DA9213/DA9214/DA9215 regulator" 247 + tristate "Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 regulator" 248 248 depends on I2C 249 249 select REGMAP_I2C 250 250 help
+10 -4
drivers/regulator/da9211-regulator.c
··· 1 1 /* 2 2 * da9211-regulator.c - Regulator device driver for DA9211/DA9212 3 - * /DA9213/DA9214/DA9215 3 + * /DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 4 4 * Copyright (C) 2015 Dialog Semiconductor Ltd. 5 5 * 6 6 * This library is free software; you can redistribute it and/or ··· 496 496 {"da9211", DA9211}, 497 497 {"da9212", DA9212}, 498 498 {"da9213", DA9213}, 499 + {"da9223", DA9223}, 499 500 {"da9214", DA9214}, 501 + {"da9224", DA9224}, 500 502 {"da9215", DA9215}, 503 + {"da9225", DA9225}, 501 504 {}, 502 505 }; 503 506 MODULE_DEVICE_TABLE(i2c, da9211_i2c_id); ··· 510 507 { .compatible = "dlg,da9211", .data = &da9211_i2c_id[0] }, 511 508 { .compatible = "dlg,da9212", .data = &da9211_i2c_id[1] }, 512 509 { .compatible = "dlg,da9213", .data = &da9211_i2c_id[2] }, 513 - { .compatible = "dlg,da9214", .data = &da9211_i2c_id[3] }, 514 - { .compatible = "dlg,da9215", .data = &da9211_i2c_id[4] }, 510 + { .compatible = "dlg,da9223", .data = &da9211_i2c_id[3] }, 511 + { .compatible = "dlg,da9214", .data = &da9211_i2c_id[4] }, 512 + { .compatible = "dlg,da9224", .data = &da9211_i2c_id[5] }, 513 + { .compatible = "dlg,da9215", .data = &da9211_i2c_id[6] }, 514 + { .compatible = "dlg,da9225", .data = &da9211_i2c_id[7] }, 515 515 {}, 516 516 }; 517 517 MODULE_DEVICE_TABLE(of, da9211_dt_ids); ··· 532 526 module_i2c_driver(da9211_regulator_driver); 533 527 534 528 MODULE_AUTHOR("James Ban <James.Ban.opensource@diasemi.com>"); 535 - MODULE_DESCRIPTION("DA9211/DA9212/DA9213/DA9214/DA9215 regulator driver"); 529 + MODULE_DESCRIPTION("DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 regulator driver"); 536 530 MODULE_LICENSE("GPL");
+1 -1
drivers/regulator/da9211-regulator.h
··· 1 1 /* 2 2 * da9211-regulator.h - Regulator definitions for DA9211/DA9212 3 - * /DA9213/DA9214/DA9215 3 + * /DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 4 4 * Copyright (C) 2015 Dialog Semiconductor Ltd. 5 5 * 6 6 * This program is free software; you can redistribute it and/or
+1 -1
drivers/regulator/tps65218-regulator.c
··· 154 154 155 155 if (!tps->strobes[rid]) { 156 156 if (rid == TPS65218_DCDC_3) 157 - tps->info[rid]->strobe = 3; 157 + tps->strobes[rid] = 3; 158 158 else 159 159 return -EINVAL; 160 160 }
-19
include/linux/mfd/tps65218.h
··· 246 246 }; 247 247 248 248 /** 249 - * struct tps_info - packages regulator constraints 250 - * @id: Id of the regulator 251 - * @name: Voltage regulator name 252 - * @min_uV: minimum micro volts 253 - * @max_uV: minimum micro volts 254 - * @strobe: sequencing strobe value for the regulator 255 - * 256 - * This data is used to check the regualtor voltage limits while setting. 257 - */ 258 - struct tps_info { 259 - int id; 260 - const char *name; 261 - int min_uV; 262 - int max_uV; 263 - int strobe; 264 - }; 265 - 266 - /** 267 249 * struct tps65218 - tps65218 sub-driver chip access routines 268 250 * 269 251 * Device data may be used to access the TPS65218 chip ··· 262 280 u32 irq_mask; 263 281 struct regmap_irq_chip_data *irq_data; 264 282 struct regulator_desc desc[TPS65218_NUM_REGULATOR]; 265 - struct tps_info *info[TPS65218_NUM_REGULATOR]; 266 283 struct regmap *regmap; 267 284 u8 *strobes; 268 285 };
+4 -1
include/linux/regulator/da9211.h
··· 1 1 /* 2 2 * da9211.h - Regulator device driver for DA9211/DA9212 3 - * /DA9213/DA9214/DA9215 3 + * /DA9213/DA9223/DA9214/DA9224/DA9215/DA9225 4 4 * Copyright (C) 2015 Dialog Semiconductor Ltd. 5 5 * 6 6 * This program is free software; you can redistribute it and/or ··· 25 25 DA9211, 26 26 DA9212, 27 27 DA9213, 28 + DA9223, 28 29 DA9214, 30 + DA9224, 29 31 DA9215, 32 + DA9225, 30 33 }; 31 34 32 35 struct da9211_pdata {