Source
x
static int pic32_spi_set_word_size(struct pic32_spi *pic32s, u8 bits_per_word)
// SPDX-License-Identifier: GPL-2.0-only
/*
* Microchip PIC32 SPI controller driver.
*
* Purna Chandra Mandal <purna.mandal@microchip.com>
* Copyright (c) 2016, Microchip Technology Inc.
*/
/* SPI controller registers */
struct pic32_spi_regs {
u32 ctrl;
u32 ctrl_clr;
u32 ctrl_set;
u32 ctrl_inv;
u32 status;
u32 status_clr;
u32 status_set;
u32 status_inv;
u32 buf;
u32 dontuse[3];
u32 baud;
u32 dontuse2[3];
u32 ctrl2;
u32 ctrl2_clr;
u32 ctrl2_set;
u32 ctrl2_inv;
};
/* Bit fields of SPI Control Register */
/* Rx interrupt generation */
/* not empty */
/* full by half or more */
/* completely full */
/* TX interrupt generation */
/* completely empty */
/* empty */
/* empty by half or more */
/* atleast one empty */
/* enable master mode */
/* active low */
/* Tx on falling edge */
/* Rx at middle or end of tx */
/* bits per word/sample */
/* sleep when idle */
/* enable macro */
/* enable enhanced buffering */
/* select clock source */
/* macro driven /SS */
/* enable framing mode */
/* Bit fields of SPI Status Register */
/* RX Fifo empty */
/* err, s/w needs to clear */
/* UR in Framed SPI modes */
/* Multiple Frame Sync pulse */
/* Bit fields of SPI Baud Register */
/* Bit fields of SPI Control2 Register */
/* Enable int on Tx under-run */
/* Enable int on Rx over-run */
/* Enable frame err int */
/* Minimum DMA transfer size */