diff options
Diffstat (limited to 'roms/u-boot/drivers/spi/spi.c')
-rw-r--r-- | roms/u-boot/drivers/spi/spi.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/roms/u-boot/drivers/spi/spi.c b/roms/u-boot/drivers/spi/spi.c new file mode 100644 index 000000000..22910de0d --- /dev/null +++ b/roms/u-boot/drivers/spi/spi.c @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2011 The Chromium OS Authors. + */ + +#include <common.h> +#include <fdtdec.h> +#include <malloc.h> +#include <spi.h> + +int spi_set_wordlen(struct spi_slave *slave, unsigned int wordlen) +{ + if (wordlen == 0 || wordlen > 32) { + printf("spi: invalid wordlen %u\n", wordlen); + return -1; + } + + slave->wordlen = wordlen; + + return 0; +} + +void *spi_do_alloc_slave(int offset, int size, unsigned int bus, + unsigned int cs) +{ + u8 *ptr; + + ptr = malloc(size); + if (ptr) { + struct spi_slave *slave; + + memset(ptr, '\0', size); + slave = (struct spi_slave *)(ptr + offset); + slave->bus = bus; + slave->cs = cs; + slave->wordlen = SPI_DEFAULT_WORDLEN; + } + + return ptr; +} |