
Le mardi 11 novembre 2014 à 07:33 -0500, Tom Rini a écrit :
On Tue, Nov 11, 2014 at 12:57:45PM +0100, Paul Kocialkowski wrote:
Le lundi 10 novembre 2014 à 13:46 -0500, Tom Rini a écrit :
On Sat, Nov 08, 2014 at 10:29:24PM +0100, Paul Kocialkowski wrote:
Le samedi 08 novembre 2014 à 20:55 +0100, Paul Kocialkowski a écrit :
Boards using the TWL4030 regulator may not all use the LDOs the same way (e.g. MMC2 power can be controlled by another LDO than VMMC2). This delegates TWL4030 MMC power initializations to board-specific functions, that may still call twl4030_power_mmc_init for the default behavior.
Signed-off-by: Paul Kocialkowski contact@paulk.fr
board/comelit/dig297/dig297.c | 5 +++++ board/compulab/cm_t35/cm_t35.c | 7 +++++++ board/corscience/tricorder/tricorder.c | 7 +++++++ board/isee/igep00x0/igep00x0.c | 7 +++++++ board/logicpd/omap3som/omap3logic.c | 7 +++++++ board/logicpd/zoom1/zoom1.c | 5 +++++ board/matrix_vision/mvblx/mvblx.c | 6 ++++++ board/nokia/rx51/rx51.c | 6 ++++++ board/overo/overo.c | 7 +++++++ board/pandora/pandora.c | 5 +++++ board/technexion/tao3530/tao3530.c | 7 +++++++ board/ti/beagle/beagle.c | 7 +++++++ board/ti/evm/evm.c | 7 +++++++ board/ti/sdp3430/sdp.c | 5 +++++ board/timll/devkit8000/devkit8000.c | 7 +++++++ drivers/mmc/omap_hsmmc.c | 7 +------ 16 files changed, 96 insertions(+), 6 deletions(-)
diff --git a/board/comelit/dig297/dig297.c b/board/comelit/dig297/dig297.c index 2b826df..9d4c41b 100644 --- a/board/comelit/dig297/dig297.c +++ b/board/comelit/dig297/dig297.c @@ -133,6 +133,11 @@ int board_mmc_init(bd_t *bis) { return omap_mmc_init(0, 0, 0, -1, -1); }
+void board_mmc_power_init(void) +{
I just figured, in the context of the SPL, board_mmc_init will be called from omap3/board.c instead of the board file, so perhaps it would be worth adding, in board_mmc_power_init: #ifdef CONFIG_SPL_BUILD and then checking spl_boot_device to only enable the relevant LDO.
If we get to this point we can do the same thing we do for board_mmc_init which is have one in say arch/arm/cpu/armv7/omap-common/boot-common.c that checks spl_boot_device()
That wouldn't work for my use case, on the Optimus Black, where regulators are used in a non-standard way. The whole point of this to me is to not have platform-common code to handle MMC regulators, because the way those are wired to MMC devices is not the same for each platform, but is instead board-specific.
Is there any objection to making a v5 that takes the SPL context in account on each of those boards?
Oh that's right, hmm. I think the answer is that for the SPL case where we _need_ to do something different, the board can already provide that and do it, with v4. The general case is that ROM will have done what needs doing for MMCSD load and in your case you can always go and turn it on in the board code.
That should indeed cover most use cases. So let's let boards enable all the regulators they may need for MMC in board_mmc_power_init.
I'm good with v4 then!