Hi Stefano, > On 30/10/2012 17:56, Lukasz Majewski wrote: > > PMIC framework has been redesigned to support multiple instances of > > power related devices (e.g. fuel gauge, PMICs, chargers, micro USB > > IC, battery). > > > > Due to that, code at other architectures and boards have been > > adjusted properly. > > > > New power_init_board() method at ./lib/board.c file has been > > introduced. It is meant to be an architecture dependent function to > > support advanced power management. Since PMIC framework uses lists > > internally to link different devices, its initialization must be > > done just after malloc initialization. > > > > Please consider commits from this patch set as the example of > > advanced power management for a particular HW (Trats board in this > > case). > > > > In the new approach PMICs are selected with their names (e.g. 'pmic > > dump MAX8997_PMIC') Presented patch set is a first step to change > > 'pmic' command to more generic (i.e. power) to provide control for > > multiple devices. > > > > Moreover device's battery is treated as an oridinary "power" device > > (like PMIC). Due to that, framework unification is possible. > > For even more versalite design, each power device instance can > > specify its parent. > > > > For trats one can build a following scheme (it can de different for > > other boards): ----------------- > > --------| BAT |------------ > > | | | | > > | ----------------- | > > | | | > > \|/ \|/ \|/ > > ----------- ----------------- --------- > > |FG | |MUIC | |CHRG | > > | | | | | | > > ----------- ----------------- --------- > > > > Finally, this patch series also comprises of a "namespace" cleanup > > - an attempt to rename "pmic" to "power" to better reflect > > generality of this framework. > > > > > > > > Test HW: > > - Exynos4210 Trats development board > > > > > > Lukasz Majewski (24): > > pmic:i2c: Handle PMIC I2C transmission comprising of two bytes > > pmic:i2c: Add I2C sensor byte order (big/little) to PMIC framework > > pmic:max8997: Switch the MAX8997 PMIC to be used with multibus I2C > > pmic: Extend PMIC framework to support multiple instances of PMIC > > devices > > pmic: Introduce power_init_board() method at ./lib/board.c file > > pmic: Enable power_board_init() support at TRATS > > pmic:chrg: Common information about charger and battery > > (power_chrg.h) > > pmic: Move pmic related code to ./drivers/power directory > > pmic: Extend struct pmic to support battery and charger related > > operations > > pmic:battery: Support for Trats Battery at PMIC framework > > pmic:muic: Support for MUIC built into MAX8997 device > > pmic:fuel-gauge: Support for MAX17042 fuel-gauge > > pmic:max8997: Function for calculating LDO internal register value > > arm:trats:pmic: Default PMIC(MAX8997) initialization for Samsung's > > TRATS board > > arm:trats:pmic: Enable MUIC (MAX8997) at Samsung's TRATS board > > arm:trats:pmic: Enable fuel-gauge (MAX17042) at Samsung's TRATS > > board arm:trats:pmic: Enable battery support at Samsung's TRATS > > board pmic:max8997: Support for MAX8997 internal charger control > > arm:trats:pmic: Power consumption reduction state for Samsung's > > TRATS board > > arm:trats:pmic: Support for charging battery at Samsung's TRATS > > board pmic: Extend PMIC framework to support battery related > > commands power:pmic: Rename ./drivers/power/pmic_* > > to ./drivers/power/power_* files > > power:pmic: Rename CONFIG_PMIC* defines to CONFIG_POWER > > power:pmic: Rename CONFIG_DIALOG_PMIC defines to > > CONFIG_DIALOG_POWER > > > > Makefile | 5 +- > > arch/arm/lib/board.c | 8 + > > board/davedenx/qong/qong.c | 6 +- > > board/freescale/mx31pdk/mx31pdk.c | 6 +- > > board/freescale/mx35pdk/mx35pdk.c | 8 +- > > board/freescale/mx51evk/mx51evk.c | 6 +- > > board/freescale/mx53evk/mx53evk.c | 6 +- > > board/freescale/mx53loco/mx53loco.c | 10 +- > > board/hale/tt01/tt01.c | 6 +- > > board/samsung/goni/goni.c | 11 +- > > board/samsung/trats/trats.c | 247 > > +++++++++++++++++++- > > board/samsung/universal_c210/universal.c | 12 +- > > board/ttcontrol/vision2/vision2.c | 6 +- > > drivers/misc/Makefile | 7 - > > drivers/misc/pmic_core.c | 147 > > ------------ drivers/misc/pmic_i2c.c | > > 98 -------- drivers/misc/pmic_max8997.c | > > 43 ---- drivers/power/Makefile | 12 > > +- drivers/power/battery/Makefile | 47 ++++ > > drivers/power/battery/bat_trats.c | 94 ++++++++ > > drivers/power/fuel_gauge/Makefile | 47 ++++ > > drivers/power/fuel_gauge/fg_max17042.c | 244 > > +++++++++++++++++++ > > drivers/power/pmic/Makefile | 49 ++++ > > drivers/power/pmic/muic_max8997.c | 84 +++++++ > > drivers/power/pmic/pmic_max8997.c | 117 +++++++++ > > drivers/{misc => power/pmic}/pmic_max8998.c | 10 +- > > drivers/power/power_core.c | 230 > > ++++++++++++++++++ .../{misc/pmic_dialog.c => > > power/power_dialog.c} | 8 +- drivers/{misc/pmic_fsl.c => > > power/power_fsl.c} | 16 +- > > drivers/power/power_i2c.c | 125 > > ++++++++++ drivers/{misc/pmic_spi.c => power/power_spi.c} | > > 4 +- drivers/rtc/mc13xxx-rtc.c | 6 +- > > include/configs/imx31_litekit.h | 6 +- > > include/configs/mx31ads.h | 6 +- > > include/configs/mx31pdk.h | 6 +- > > include/configs/mx35pdk.h | 6 +- > > include/configs/mx51_efikamx.h | 6 +- > > include/configs/mx51evk.h | 6 +- > > include/configs/mx53evk.h | 6 +- > > include/configs/mx53loco.h | 8 +- > > include/configs/qong.h | 6 +- > > include/configs/s5p_goni.h | 6 +- > > include/configs/s5pc210_universal.h | 6 +- > > include/configs/trats.h | 14 +- > > include/configs/tt01.h | 6 +- > > include/configs/vision2.h | 6 +- > > include/pmic.h | 72 ------ > > include/power/battery.h | 38 +++ > > include/power/fg_battery_cell_params.h | 90 +++++++ > > include/power/max17042_fg.h | 74 ++++++ > > include/power/max8997_muic.h | 61 +++++ > > include/{ => power}/max8997_pmic.h | 26 ++- > > include/{ => power}/max8998_pmic.h | 0 > > include/power/pmic.h | 109 +++++++++ > > include/power/power_chrg.h | 43 ++++ 55 > > files changed, 1847 insertions(+), 485 deletions(-) delete mode > > 100644 drivers/misc/pmic_core.c delete mode 100644 > > drivers/misc/pmic_i2c.c delete mode 100644 > > drivers/misc/pmic_max8997.c create mode 100644 > > drivers/power/battery/Makefile create mode 100644 > > drivers/power/battery/bat_trats.c create mode 100644 > > drivers/power/fuel_gauge/Makefile create mode 100644 > > drivers/power/fuel_gauge/fg_max17042.c create mode 100644 > > drivers/power/pmic/Makefile create mode 100644 > > drivers/power/pmic/muic_max8997.c create mode 100644 > > drivers/power/pmic/pmic_max8997.c rename drivers/{misc => > > power/pmic}/pmic_max8998.c (89%) create mode 100644 > > drivers/power/power_core.c rename drivers/{misc/pmic_dialog.c => > > power/power_dialog.c} (89%) rename drivers/{misc/pmic_fsl.c => > > power/power_fsl.c} (86%) create mode 100644 > > drivers/power/power_i2c.c rename drivers/{misc/pmic_spi.c => > > power/power_spi.c} (97%) delete mode 100644 include/pmic.h create > > mode 100644 include/power/battery.h create mode 100644 > > include/power/fg_battery_cell_params.h create mode 100644 > > include/power/max17042_fg.h create mode 100644 > > include/power/max8997_muic.h rename include/{ => > > power}/max8997_pmic.h (88%) rename include/{ => > > power}/max8998_pmic.h (100%) create mode 100644 > > include/power/pmic.h create mode 100644 include/power/power_chrg.h > > > > I reviewed V3, nice works ! >
Nice to hear, thanks :-) > Acked-by: Stefano Babic <sba...@denx.de> > > Best regards, > Stefano Babic > -- Best regards, Lukasz Majewski Samsung Poland R&D Center | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot