aboutsummaryrefslogtreecommitdiff
path: root/src/soc/nvidia
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia')
-rw-r--r--src/soc/nvidia/tegra124/spi.c75
-rw-r--r--src/soc/nvidia/tegra132/ccplex.c15
-rw-r--r--src/soc/nvidia/tegra132/spi.c75
3 files changed, 6 insertions, 159 deletions
diff --git a/src/soc/nvidia/tegra124/spi.c b/src/soc/nvidia/tegra124/spi.c
index 0cf54956d3..7cc74c2838 100644
--- a/src/soc/nvidia/tegra124/spi.c
+++ b/src/soc/nvidia/tegra124/spi.c
@@ -802,18 +802,6 @@ int spi_xfer(struct spi_slave *slave, const void *dout,
return ret;
}
-static int tegra_spi_cbfs_open(struct cbfs_media *media)
-{
- DEBUG_SPI("tegra_spi_cbfs_open\n");
- return 0;
-}
-
-static int tegra_spi_cbfs_close(struct cbfs_media *media)
-{
- DEBUG_SPI("tegra_spi_cbfs_close\n");
- return 0;
-}
-
#define JEDEC_READ 0x03
#define JEDEC_READ_OUTSIZE 0x04
#define JEDEC_FAST_READ_DUAL 0x3b
@@ -877,69 +865,6 @@ tegra_spi_cbfs_read_exit:
return ret;
}
-static size_t tegra_spi_cbfs_read(struct cbfs_media *media, void *dest,
- size_t offset, size_t count)
-{
- const struct region_device *boot_dev;
-
- boot_dev = media->context;
-
- printk(BIOS_ERR, "%s: reading %zx bytes from %zx\n",
- __func__, count, offset);
- if (rdev_readat(boot_dev, dest, offset, count) < 0)
- return 0;
-
- return count;
-}
-
-static void *tegra_spi_cbfs_map(struct cbfs_media *media, size_t offset,
- size_t count)
-{
- const struct region_device *boot_dev;
- void *map;
-
- DEBUG_SPI("tegra_spi_cbfs_map\n");
-
- boot_dev = media->context;
-
- map = rdev_mmap(boot_dev, offset, count);
-
- if (map == NULL)
- map = (void *)-1;
-
- return map;
-}
-
-static void *tegra_spi_cbfs_unmap(struct cbfs_media *media,
- const void *address)
-{
- const struct region_device *boot_dev;
-
- DEBUG_SPI("tegra_spi_cbfs_unmap\n");
-
- boot_dev = media->context;
-
- rdev_munmap(boot_dev, (void *)address);
-
- return NULL;
-}
-
-int init_default_cbfs_media(struct cbfs_media *media)
-{
- DEBUG_SPI("Initializing CBFS media on SPI\n");
-
- boot_device_init();
-
- media->context = (void *)boot_device_ro();
- media->open = tegra_spi_cbfs_open;
- media->close = tegra_spi_cbfs_close;
- media->read = tegra_spi_cbfs_read;
- media->map = tegra_spi_cbfs_map;
- media->unmap = tegra_spi_cbfs_unmap;
-
- return 0;
-}
-
struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
{
struct tegra_spi_channel *channel = to_tegra_spi(bus);
diff --git a/src/soc/nvidia/tegra132/ccplex.c b/src/soc/nvidia/tegra132/ccplex.c
index 7ab752fbc4..e133b48482 100644
--- a/src/soc/nvidia/tegra132/ccplex.c
+++ b/src/soc/nvidia/tegra132/ccplex.c
@@ -75,10 +75,9 @@ static int ccplex_start(void)
int ccplex_load_mts(void)
{
- struct cbfs_file file;
- ssize_t offset;
- size_t nread;
+ ssize_t nread;
struct stopwatch sw;
+ struct region_device fh;
/*
* MTS location is hard coded to this magic address. The hardware will
@@ -86,21 +85,19 @@ int ccplex_load_mts(void)
* place in the carveout region.
*/
void * const mts = (void *)(uintptr_t)MTS_LOAD_ADDRESS;
- struct cbfs_media *media = CBFS_DEFAULT_MEDIA;
stopwatch_init(&sw);
- offset = cbfs_locate_file(media, &file, MTS_FILE_NAME);
- if (offset < 0) {
+ if (cbfs_boot_locate(&fh, MTS_FILE_NAME, NULL)) {
printk(BIOS_DEBUG, "MTS file not found: %s\n", MTS_FILE_NAME);
return -1;
}
/* Read MTS file into the carveout region. */
- nread = cbfs_read(media, mts, offset, file.len);
+ nread = rdev_readat(&fh, mts, 0, region_device_sz(&fh));
- if (nread != file.len) {
+ if (nread != region_device_sz(&fh)) {
printk(BIOS_DEBUG, "MTS bytes read (%zu) != file length(%u)!\n",
- nread, file.len);
+ nread, region_device_sz(&fh));
return -1;
}
diff --git a/src/soc/nvidia/tegra132/spi.c b/src/soc/nvidia/tegra132/spi.c
index 1650057fab..efe43343ca 100644
--- a/src/soc/nvidia/tegra132/spi.c
+++ b/src/soc/nvidia/tegra132/spi.c
@@ -817,18 +817,6 @@ int spi_xfer(struct spi_slave *slave, const void *dout,
return ret;
}
-static int tegra_spi_cbfs_open(struct cbfs_media *media)
-{
- DEBUG_SPI("tegra_spi_cbfs_open\n");
- return 0;
-}
-
-static int tegra_spi_cbfs_close(struct cbfs_media *media)
-{
- DEBUG_SPI("tegra_spi_cbfs_close\n");
- return 0;
-}
-
#define JEDEC_READ 0x03
#define JEDEC_READ_OUTSIZE 0x04
#define JEDEC_FAST_READ_DUAL 0x3b
@@ -892,69 +880,6 @@ tegra_spi_cbfs_read_exit:
return ret;
}
-static size_t tegra_spi_cbfs_read(struct cbfs_media *media, void *dest,
- size_t offset, size_t count)
-{
- const struct region_device *boot_dev;
-
- boot_dev = media->context;
-
- DEBUG_SPI("%s: reading %zx bytes from %zx\n", __func__, count, offset);
-
- if (rdev_readat(boot_dev, dest, offset, count) < 0)
- return 0;
-
- return count;
-}
-
-static void *tegra_spi_cbfs_map(struct cbfs_media *media, size_t offset,
- size_t count)
-{
- const struct region_device *boot_dev;
- void *map;
-
- DEBUG_SPI("tegra_spi_cbfs_map\n");
-
- boot_dev = media->context;
-
- map = rdev_mmap(boot_dev, offset, count);
-
- if (map == NULL)
- map = (void *)-1;
-
- return map;
-}
-
-static void *tegra_spi_cbfs_unmap(struct cbfs_media *media,
- const void *address)
-{
- const struct region_device *boot_dev;
-
- DEBUG_SPI("tegra_spi_cbfs_unmap\n");
-
- boot_dev = media->context;
-
- rdev_munmap(boot_dev, (void *)address);
-
- return NULL;
-}
-
-int init_default_cbfs_media(struct cbfs_media *media)
-{
- DEBUG_SPI("Initializing CBFS media on SPI\n");
-
- boot_device_init();
-
- media->context = (void *)boot_device_ro();
- media->open = tegra_spi_cbfs_open;
- media->close = tegra_spi_cbfs_close;
- media->read = tegra_spi_cbfs_read;
- media->map = tegra_spi_cbfs_map;
- media->unmap = tegra_spi_cbfs_unmap;
-
- return 0;
-}
-
struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
{
struct tegra_spi_channel *channel = to_tegra_spi(bus);