/* * 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; };