2010-07-13 10:21:28 +04:00
|
|
|
/*
|
|
|
|
* Copyright (C) ST-Ericsson SA 2010
|
|
|
|
*
|
|
|
|
* License Terms: GNU General Public License v2
|
|
|
|
*
|
regulator: initialization for ab8500 regulators
The regulators on the AB8500 have a lot of custom
hardware control settings pertaining to 8 external
signals, settings which are board-specific and need
be provided from the platform at startup.
Initialization added for regulators Vana, VextSupply1,
VextSupply2, VextSupply3, Vaux1, Vaux2, Vaux3, VTVout,
Vintcore12, Vaudio, Vdmic, Vamic1, Vamic2, VrefDDR.
Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Reviewed-by: Rickard Andersson <rickard.andersson@stericsson.com>
Reviewed-by: Jonas Aberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-11 13:54:46 +03:00
|
|
|
* Authors: Sundar Iyer <sundar.iyer@stericsson.com> for ST-Ericsson
|
|
|
|
* Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson
|
2010-07-13 10:21:28 +04:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LINUX_MFD_AB8500_REGULATOR_H
|
|
|
|
#define __LINUX_MFD_AB8500_REGULATOR_H
|
|
|
|
|
|
|
|
/* AB8500 regulators */
|
2010-12-10 13:08:40 +03:00
|
|
|
enum ab8500_regulator_id {
|
|
|
|
AB8500_LDO_AUX1,
|
|
|
|
AB8500_LDO_AUX2,
|
|
|
|
AB8500_LDO_AUX3,
|
|
|
|
AB8500_LDO_INTCORE,
|
|
|
|
AB8500_LDO_TVOUT,
|
2011-03-10 16:43:31 +03:00
|
|
|
AB8500_LDO_USB,
|
2010-12-10 13:08:40 +03:00
|
|
|
AB8500_LDO_AUDIO,
|
|
|
|
AB8500_LDO_ANAMIC1,
|
|
|
|
AB8500_LDO_ANAMIC2,
|
|
|
|
AB8500_LDO_DMIC,
|
|
|
|
AB8500_LDO_ANA,
|
|
|
|
AB8500_NUM_REGULATORS,
|
|
|
|
};
|
regulator: initialization for ab8500 regulators
The regulators on the AB8500 have a lot of custom
hardware control settings pertaining to 8 external
signals, settings which are board-specific and need
be provided from the platform at startup.
Initialization added for regulators Vana, VextSupply1,
VextSupply2, VextSupply3, Vaux1, Vaux2, Vaux3, VTVout,
Vintcore12, Vaudio, Vdmic, Vamic1, Vamic2, VrefDDR.
Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Reviewed-by: Rickard Andersson <rickard.andersson@stericsson.com>
Reviewed-by: Jonas Aberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-11 13:54:46 +03:00
|
|
|
|
2012-02-21 00:42:24 +04:00
|
|
|
/* AB9450 regulators */
|
|
|
|
enum ab9540_regulator_id {
|
|
|
|
AB9540_LDO_AUX1,
|
|
|
|
AB9540_LDO_AUX2,
|
|
|
|
AB9540_LDO_AUX3,
|
|
|
|
AB9540_LDO_AUX4,
|
|
|
|
AB9540_LDO_INTCORE,
|
|
|
|
AB9540_LDO_TVOUT,
|
|
|
|
AB9540_LDO_USB,
|
|
|
|
AB9540_LDO_AUDIO,
|
|
|
|
AB9540_LDO_ANAMIC1,
|
|
|
|
AB9540_LDO_ANAMIC2,
|
|
|
|
AB9540_LDO_DMIC,
|
|
|
|
AB9540_LDO_ANA,
|
|
|
|
AB9540_SYSCLKREQ_2,
|
|
|
|
AB9540_SYSCLKREQ_4,
|
|
|
|
AB9540_NUM_REGULATORS,
|
|
|
|
};
|
|
|
|
|
|
|
|
/* AB8500 and AB9540 register initialization */
|
regulator: initialization for ab8500 regulators
The regulators on the AB8500 have a lot of custom
hardware control settings pertaining to 8 external
signals, settings which are board-specific and need
be provided from the platform at startup.
Initialization added for regulators Vana, VextSupply1,
VextSupply2, VextSupply3, Vaux1, Vaux2, Vaux3, VTVout,
Vintcore12, Vaudio, Vdmic, Vamic1, Vamic2, VrefDDR.
Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Reviewed-by: Rickard Andersson <rickard.andersson@stericsson.com>
Reviewed-by: Jonas Aberg <jonas.aberg@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2011-03-11 13:54:46 +03:00
|
|
|
struct ab8500_regulator_reg_init {
|
|
|
|
int id;
|
|
|
|
u8 value;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define INIT_REGULATOR_REGISTER(_id, _value) \
|
|
|
|
{ \
|
|
|
|
.id = _id, \
|
|
|
|
.value = _value, \
|
|
|
|
}
|
|
|
|
|
|
|
|
/* AB8500 registers */
|
|
|
|
enum ab8500_regulator_reg {
|
|
|
|
AB8500_REGUREQUESTCTRL2,
|
|
|
|
AB8500_REGUREQUESTCTRL3,
|
|
|
|
AB8500_REGUREQUESTCTRL4,
|
|
|
|
AB8500_REGUSYSCLKREQ1HPVALID1,
|
|
|
|
AB8500_REGUSYSCLKREQ1HPVALID2,
|
|
|
|
AB8500_REGUHWHPREQ1VALID1,
|
|
|
|
AB8500_REGUHWHPREQ1VALID2,
|
|
|
|
AB8500_REGUHWHPREQ2VALID1,
|
|
|
|
AB8500_REGUHWHPREQ2VALID2,
|
|
|
|
AB8500_REGUSWHPREQVALID1,
|
|
|
|
AB8500_REGUSWHPREQVALID2,
|
|
|
|
AB8500_REGUSYSCLKREQVALID1,
|
|
|
|
AB8500_REGUSYSCLKREQVALID2,
|
|
|
|
AB8500_REGUMISC1,
|
|
|
|
AB8500_VAUDIOSUPPLY,
|
|
|
|
AB8500_REGUCTRL1VAMIC,
|
|
|
|
AB8500_VPLLVANAREGU,
|
|
|
|
AB8500_VREFDDR,
|
|
|
|
AB8500_EXTSUPPLYREGU,
|
|
|
|
AB8500_VAUX12REGU,
|
|
|
|
AB8500_VRF1VAUX3REGU,
|
|
|
|
AB8500_VAUX1SEL,
|
|
|
|
AB8500_VAUX2SEL,
|
|
|
|
AB8500_VRF1VAUX3SEL,
|
|
|
|
AB8500_REGUCTRL2SPARE,
|
|
|
|
AB8500_REGUCTRLDISCH,
|
|
|
|
AB8500_REGUCTRLDISCH2,
|
|
|
|
AB8500_VSMPS1SEL1,
|
|
|
|
AB8500_NUM_REGULATOR_REGISTERS,
|
|
|
|
};
|
|
|
|
|
2012-02-21 00:42:24 +04:00
|
|
|
|
|
|
|
/* AB9540 registers */
|
|
|
|
enum ab9540_regulator_reg {
|
|
|
|
AB9540_REGUREQUESTCTRL1,
|
|
|
|
AB9540_REGUREQUESTCTRL2,
|
|
|
|
AB9540_REGUREQUESTCTRL3,
|
|
|
|
AB9540_REGUREQUESTCTRL4,
|
|
|
|
AB9540_REGUSYSCLKREQ1HPVALID1,
|
|
|
|
AB9540_REGUSYSCLKREQ1HPVALID2,
|
|
|
|
AB9540_REGUHWHPREQ1VALID1,
|
|
|
|
AB9540_REGUHWHPREQ1VALID2,
|
|
|
|
AB9540_REGUHWHPREQ2VALID1,
|
|
|
|
AB9540_REGUHWHPREQ2VALID2,
|
|
|
|
AB9540_REGUSWHPREQVALID1,
|
|
|
|
AB9540_REGUSWHPREQVALID2,
|
|
|
|
AB9540_REGUSYSCLKREQVALID1,
|
|
|
|
AB9540_REGUSYSCLKREQVALID2,
|
|
|
|
AB9540_REGUVAUX4REQVALID,
|
|
|
|
AB9540_REGUMISC1,
|
|
|
|
AB9540_VAUDIOSUPPLY,
|
|
|
|
AB9540_REGUCTRL1VAMIC,
|
|
|
|
AB9540_VSMPS1REGU,
|
|
|
|
AB9540_VSMPS2REGU,
|
|
|
|
AB9540_VSMPS3REGU, /* NOTE! PRCMU register */
|
|
|
|
AB9540_VPLLVANAREGU,
|
|
|
|
AB9540_EXTSUPPLYREGU,
|
|
|
|
AB9540_VAUX12REGU,
|
|
|
|
AB9540_VRF1VAUX3REGU,
|
|
|
|
AB9540_VSMPS1SEL1,
|
|
|
|
AB9540_VSMPS1SEL2,
|
|
|
|
AB9540_VSMPS1SEL3,
|
|
|
|
AB9540_VSMPS2SEL1,
|
|
|
|
AB9540_VSMPS2SEL2,
|
|
|
|
AB9540_VSMPS2SEL3,
|
|
|
|
AB9540_VSMPS3SEL1, /* NOTE! PRCMU register */
|
|
|
|
AB9540_VSMPS3SEL2, /* NOTE! PRCMU register */
|
|
|
|
AB9540_VAUX1SEL,
|
|
|
|
AB9540_VAUX2SEL,
|
|
|
|
AB9540_VRF1VAUX3SEL,
|
|
|
|
AB9540_REGUCTRL2SPARE,
|
|
|
|
AB9540_VAUX4REQCTRL,
|
|
|
|
AB9540_VAUX4REGU,
|
|
|
|
AB9540_VAUX4SEL,
|
|
|
|
AB9540_REGUCTRLDISCH,
|
|
|
|
AB9540_REGUCTRLDISCH2,
|
|
|
|
AB9540_REGUCTRLDISCH3,
|
|
|
|
AB9540_NUM_REGULATOR_REGISTERS,
|
|
|
|
};
|
|
|
|
|
2010-07-13 10:21:28 +04:00
|
|
|
#endif
|