You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
896 B
33 lines
896 B
/* |
|
* Copyright (c) 2019 Western Digital Corporation or its affiliates |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#include "spi_context.h" |
|
|
|
#define SPI_OC_SIMPLE_DATA(dev) \ |
|
((struct spi_oc_simple_data *) ((dev)->data)) |
|
|
|
#define SPI_OC_SIMPLE_REG(info, offset) \ |
|
((mem_addr_t) (info->base + \ |
|
(offset * CONFIG_SPI_OC_SIMPLE_BUS_WIDTH / 8))) |
|
|
|
#define SPI_OC_SIMPLE_SPCR(dev) SPI_OC_SIMPLE_REG(dev, 0x0) |
|
#define SPI_OC_SIMPLE_SPSR(dev) SPI_OC_SIMPLE_REG(dev, 0x1) |
|
#define SPI_OC_SIMPLE_SPDR(dev) SPI_OC_SIMPLE_REG(dev, 0x2) |
|
#define SPI_OC_SIMPLE_SPER(dev) SPI_OC_SIMPLE_REG(dev, 0x3) |
|
#define SPI_OC_SIMPLE_SPSS(dev) SPI_OC_SIMPLE_REG(dev, 0x4) |
|
|
|
#define SPI_OC_SIMPLE_SPCR_SPE BIT(6) |
|
#define SPI_OC_SIMPLE_SPCR_CPOL BIT(3) |
|
#define SPI_OC_SIMPLE_SPCR_CPHA BIT(2) |
|
|
|
struct spi_oc_simple_cfg { |
|
uint32_t base; |
|
uint32_t f_sys; |
|
}; |
|
|
|
struct spi_oc_simple_data { |
|
struct spi_context ctx; |
|
};
|
|
|