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_fastboot_init(void) { #ifdef SSD_ENABLE clock_ce_enable(SSD_CE_INSTANCE_1); ssd_load_keystore_from_emmc(); #endif }
/* 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(); } }
void target_fastboot_init(void) { /* Set the BOOT_DONE flag in PM8921 */ pm8x41_set_boot_done(); #ifdef SSD_ENABLE clock_ce_enable(SSD_CE_INSTANCE_1); ssd_load_keystore_from_emmc(); #endif }
/* 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_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); }