void target_uninit(void) { mmc_put_card_to_sleep(dev); if (target_is_ssd_enabled()) clock_ce_disable(SSD_CE_INSTANCE); }
/* Do any target specific intialization needed before entering fastboot mode */ void target_fastboot_init(void) { if (target_is_ssd_enabled()) { clock_ce_enable(CE1_INSTANCE); target_load_ssd_keystore(); } }
/* Do any target specific intialization needed before entering fastboot mode */ void target_fastboot_init(void) { /* Set the BOOT_DONE flag in PM8026 */ pm8x41_set_boot_done(); if (target_is_ssd_enabled()) { clock_ce_enable(SSD_CE_INSTANCE); target_load_ssd_keystore(); } }
/* Do any target specific intialization needed before entering fastboot mode */ void target_fastboot_init(void) { /* We are entering fastboot mode, so read partition table */ mmc_read_partition_table(1); if (target_is_ssd_enabled()) { clock_ce_enable(SSD_CE_INSTANCE); target_load_ssd_keystore(); } }
void target_uninit(void) { mmc_put_card_to_sleep(dev); sdhci_mode_disable(&dev->host); if (crypto_initialized()) crypto_eng_cleanup(); if (target_is_ssd_enabled()) clock_ce_disable(CE1_INSTANCE); #if SMD_SUPPORT rpm_smd_uninit(); #endif }
void target_uninit(void) { #if PON_VIB_SUPPORT /* wait for the vibrator timer is expried */ wait_vib_timeout(); #endif mmc_put_card_to_sleep(dev); sdhci_mode_disable(&dev->host); if (crypto_initialized()) crypto_eng_cleanup(); if (target_is_ssd_enabled()) clock_ce_disable(CE1_INSTANCE); }
void target_load_ssd_keystore(void) { uint64_t ptn; int index; uint64_t size; uint32_t *buffer; if (!target_is_ssd_enabled()) return; index = partition_get_index("ssd"); ptn = partition_get_offset(index); if (ptn == 0){ dprintf(CRITICAL, "Error: ssd partition not found\n"); return; } size = partition_get_size(index); if (size == 0) { dprintf(CRITICAL, "Error: invalid ssd partition size\n"); return; } buffer = memalign(CACHE_LINE, ROUNDUP(size, CACHE_LINE)); if (!buffer) { dprintf(CRITICAL, "Error: allocating memory for ssd buffer\n"); return; } if (mmc_read(ptn, buffer, size)) { dprintf(CRITICAL, "Error: cannot read data\n"); free(buffer); return; } clock_ce_enable(SSD_CE_INSTANCE); scm_protect_keystore(buffer, size); clock_ce_disable(SSD_CE_INSTANCE); free(buffer); }