void target_uninit(void) { mmc_put_card_to_sleep(dev); if (target_is_ssd_enabled()) clock_ce_disable(SSD_CE_INSTANCE); }
void target_uninit(void) { if (platform_boot_dev_isemmc()) { mmc_put_card_to_sleep(dev); /* Disable HC mode before jumping to kernel */ sdhci_mode_disable(&dev->host); } if (crypto_initialized()) { crypto_eng_cleanup(); clock_ce_disable(CE_INSTANCE); } #if VERIFIED_BOOT #if !VBOOT_MOTA if (is_sec_app_loaded()) { if (send_milestone_call_to_tz() < 0) { dprintf(CRITICAL, "Failed to unload App for rpmb\n"); ASSERT(0); } } if (rpmb_uninit() < 0) { dprintf(CRITICAL, "RPMB uninit failed\n"); ASSERT(0); } #endif #endif rpm_smd_uninit(); }
void target_uninit(void) { #if MMC_SDHCI_SUPPORT mmc_put_card_to_sleep(dev); #else mmc_put_card_to_sleep(); #endif #ifdef SSD_ENABLE clock_ce_disable(SSD_CE_INSTANCE_1); #endif }
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 clock_config_ce(uint8_t instance) { /* Need to enable the clock before disabling since the clk_disable() * has a check to default to nop when the clk_enable() is not called * on that particular clock. */ clock_ce_enable(instance); clock_ce_disable(instance); ce_async_reset(instance); clock_ce_enable(instance); }
void target_uninit(void) { #if MMC_SDHCI_SUPPORT mmc_put_card_to_sleep(dev); #else mmc_put_card_to_sleep(); #endif #ifdef SSD_ENABLE clock_ce_disable(SSD_CE_INSTANCE_1); #endif /* Disable HC mode before jumping to kernel */ sdhci_mode_disable(&dev->host); }
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); }
void target_usb_stop(void) { #ifdef SSD_ENABLE clock_ce_disable(SSD_CE_INSTANCE_1); #endif }