Introduce board specific function board_preboot_os() to allow for board specific config before we boot, and use it on cm_fx6 to power off sata so that Linux will be able to setup it correctly.
Signed-off-by: Nikita Kiryanov <nik...@compulab.co.il> Cc: Igor Grinberg <grinb...@compulab.co.il> Cc: Stefano Babic <sba...@denx.de> Cc: Tom Rini <tr...@ti.com> --- board/compulab/cm_fx6/cm_fx6.c | 5 +++++ common/bootm_os.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index 0206ae8..b44ee9d 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -125,6 +125,11 @@ int sata_initialize(void) return err; } + +void board_preboot_os(void) +{ + cm_fx6_sata_power(0); +} #else static int cm_fx6_setup_issd(void) { return 0; } #endif diff --git a/common/bootm_os.c b/common/bootm_os.c index 5be4467..95cd657 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -442,10 +442,17 @@ __weak void arch_preboot_os(void) /* please define platform specific arch_preboot_os() */ } +/* Allow for board specific config before we boot */ +__weak void board_preboot_os(void) +{ + /* please define board specific board_preboot_os() */ +} + int boot_selected_os(int argc, char * const argv[], int state, bootm_headers_t *images, boot_os_fn *boot_fn) { arch_preboot_os(); + board_preboot_os(); boot_fn(state, argc, argv, images); /* Stand-alone may return when 'autostart' is 'no' */ -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot