diff options
Diffstat (limited to 'src/soc/marvell/mvmap2315/nvm.c')
-rw-r--r-- | src/soc/marvell/mvmap2315/nvm.c | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/src/soc/marvell/mvmap2315/nvm.c b/src/soc/marvell/mvmap2315/nvm.c deleted file mode 100644 index 7e33e98fa2..0000000000 --- a/src/soc/marvell/mvmap2315/nvm.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2016 Marvell, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include <stddef.h> -#include <stdint.h> -#include <stdlib.h> - -#include <arch/io.h> -#include <console/console.h> -#include <soc/bdb.h> -#include <soc/clock.h> -#include <soc/flash.h> -#include <soc/load_validate.h> -#include <soc/nvm.h> - -struct flash_ops nvm_callbacks = { - .init = (void *)MVMAP2315_FLASH_INIT, - .read = (void *)MVMAP2315_FLASH_READ, - .write = (void *)MVMAP2315_FLASH_WRITE, -}; - -static void set_nvm_parameters(struct flash_params *eeprom_info, u32 offset, - u32 *buffer, u32 size) -{ - eeprom_info->offset = offset; - eeprom_info->buff = (u32)buffer; - eeprom_info->size = size; - eeprom_info->id = 0x0; - eeprom_info->partition = 0x0; -} - -u32 nvm_init(void) -{ - int rc; - - clrbits_le32(&mvmap2315_apmu_clk->apaonclk_sdmmc_clkgenconfig, - MVMAP2315_SDMMC_CLK_RSTN); - setbits_le32(&mvmap2315_apmu_clk->apaonclk_sdmmc_clkgenconfig, - MVMAP2315_SDMMC_CLK_RSTN); - - rc = nvm_callbacks.init(MVMAP2315_EEPROM, 0, 0); - - if (rc) - printk(BIOS_DEBUG, "nvm_init failed with rc=%x.\n", rc); - - return rc; -} - -u32 nvm_read(u32 offset, u32 *buffer, u32 size) -{ - struct flash_params eeprom_read_info; - u32 rc; - - set_nvm_parameters(&eeprom_read_info, offset, buffer, size); - - rc = nvm_init(); - - if (rc) - return rc; - - rc = nvm_callbacks.read(MVMAP2315_EEPROM, 0, &eeprom_read_info); - - if (rc) - printk(BIOS_INFO, "nvm_read callback failed, rc=%x\n", rc); - - return rc; -} - -u32 nvm_write(u32 offset, u32 *buffer, u32 size) -{ - struct flash_params eeprom_read_info; - u32 rc; - - set_nvm_parameters(&eeprom_read_info, offset, buffer, size); - - rc = nvm_init(); - - if (rc) - return rc; - - rc = nvm_callbacks.write(MVMAP2315_EEPROM, 0, &eeprom_read_info); - - if (rc) - printk(BIOS_INFO, "nvm_write callback failed, rc=%x\n", rc); - - return rc; -} - -void nvm_lockdown(void) -{ - setbits_le32(&mvmap2315_mcu_secconfig->boot_hw_lockdown_nvm, - MVMAP2315_NVM_LOCKDOWN_FLAG); -} |