]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
Rename spi_tms570_drv to spi_tms570_iface
authorMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 28 Aug 2015 14:38:12 +0000 (16:38 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Fri, 28 Aug 2015 14:38:12 +0000 (16:38 +0200)
rpp/include/drv/_tms570_rpp/spi_def.h
rpp/include/drv/spi_tms570.h
rpp/src/drv/_tms570_rpp/spi_def.c
rpp/src/drv/spi_tms570.c

index 77c8641f548621737586fa69a5edfd0f89efdaaf..f7cee108fed0bea5aec76e730b9078a9bbd5b87f 100644 (file)
@@ -37,6 +37,6 @@ enum spi_ifc4_devices {
        SPIDEV_TJA1082_2
 };
 
-extern spi_tms570_drv_t spi_ifcs[4];
+extern spi_tms570_iface_t spi_ifcs[4];
 
 #endif
index 0db3090e063779b3b1b9c82cc8aa0397d197b1b5..84361e5327a23d4c818dc6d79a4af0ae1020a7e6 100644 (file)
@@ -193,18 +193,18 @@ typedef struct spi_dev {
 } spi_dev_t;
 
 /* SPI interface */
-typedef struct spi_tms570_drv {
+typedef struct spi_tms570_iface {
        spi_drv_t spi_drv;
        spiBASE_compat_t *reg;      /* Base Reg. for SPI device register array */
        unsigned txcnt; /* No. of transfered bytes for msg_act */
        unsigned rxcnt; /* No. of received bytes for msg_act */
        spi_dev_t *spi_devs;    /* Pointer to table holding information about SPI devices bound to the interface */
        uint32_t transfer_ctrl; /* Transfer configuration -- upper 16 bits of SPIDAT1 register */
-} spi_tms570_drv_t;
+} spi_tms570_iface_t;
 
-//extern spi_tms570_drv_t spi_tms570_ifcs[4];
+//extern spi_tms570_iface_t spi_tms570_ifcs[4];
 //extern spi_dev_t spi_devs[];
-int spi_tms570_init(spi_tms570_drv_t *ifcs, int count);
+int spi_tms570_init(spi_tms570_iface_t *ifcs, int count);
 
 spi_drv_t *spi_find_drv(char *name, int number);
 
index 6de4f70578666411a8c76664ce8c5e6a3a29d7f8..d6f3a05afc8474838016e5af82b0a7114512d7e9 100644 (file)
@@ -91,7 +91,7 @@ static spi_dev_t spi_ifc4_devs[] = {
 
 /* Each SPI interface has its own static spi_tms570_drv_t struct
    Index to this array is "SPI Interface ID -1" */
-spi_tms570_drv_t spi_ifcs[4] = {
+spi_tms570_iface_t spi_ifcs[4] = {
        [0] = {
                .reg = mibspi_compat_REG1,
                .spi_devs = spi_ifc1_devs,
index 5c3431f4455ede9b727821b5cfd9cd91023641da..a4e5a42ae657acb4049248faa5ab8be7b1623db8 100644 (file)
@@ -212,7 +212,7 @@ void spiInit(spiBASE_compat_t *spiREG)
 
 static boolean_t spi_initialized = FALSE;
 
-int spi_tms570_init(spi_tms570_drv_t *ifcs, int count)
+int spi_tms570_init(spi_tms570_iface_t *ifcs, int count)
 {
        if (spi_initialized == TRUE)
                return FAILURE;
@@ -236,8 +236,8 @@ int spi_tms570_init(spi_tms570_drv_t *ifcs, int count)
 
 static int spi_tms570_ctrl_fnc(spi_drv_t *ifc, int ctrl, void *p)
 {
-       spi_tms570_drv_t *tms570_drv =
-               UL_CONTAINEROF(ifc, spi_tms570_drv_t, spi_drv);
+       spi_tms570_iface_t *tms570_drv =
+               UL_CONTAINEROF(ifc, spi_tms570_iface_t, spi_drv);
 
        switch (ctrl) {
        case SPI_CTRL_WAKE_RQ:
@@ -271,7 +271,7 @@ static int spi_tms570_ctrl_fnc(spi_drv_t *ifc, int ctrl, void *p)
 void spi_tms570_isr(int spi_ifc, uint32_t flags)
 {
        spi_msg_head_t *msg;
-       spi_tms570_drv_t *spi_tms570_drv = &spi_ifcs[spi_ifc];
+       spi_tms570_iface_t *iface = &spi_ifcs[spi_ifc];
        spi_isr_lock_level_t saveif;
        uint8_t val_to_wr;
        uint32_t cs;
@@ -283,32 +283,32 @@ void spi_tms570_isr(int spi_ifc, uint32_t flags)
 
        if (flags & SPI_FLG_TXINT_m) {
                do {
-                       msg = spi_tms570_drv->spi_drv.msg_act;
+                       msg = iface->spi_drv.msg_act;
                        if (!msg) { /* Is there any MSG being processed? */
                                /* If not, get one from a queue */
                                spi_isr_lock(saveif);
-                               msg = spi_tms570_drv->spi_drv.msg_act =
-                                                 spi_rq_queue_first(&spi_tms570_drv->spi_drv);
+                               msg = iface->spi_drv.msg_act =
+                                                 spi_rq_queue_first(&iface->spi_drv);
                                spi_isr_unlock(saveif);
 
                                if (!msg) { /* Nothing to process */
                                        volatile unsigned int dummy_read;
                                        /* Disable TXEMPTY IRQ */
-                                       spi_tms570_drv->reg->INT0 = 0x00;
-                                       spi_tms570_drv->reg->FLG = 0x00;
-                                       dummy_read = spi_tms570_drv->reg->BUF;
+                                       iface->reg->INT0 = 0x00;
+                                       iface->reg->FLG = 0x00;
+                                       dummy_read = iface->reg->BUF;
                                        // FIXME "INT |= " with disabled IRQ ??
                                        return;
                                }
 
-                               spi_tms570_drv->txcnt = 0;
-                               spi_tms570_drv->rxcnt = 0;
-                               cs = spi_tms570_drv->spi_devs[msg->addr].cs;
-                               spi_tms570_drv->transfer_ctrl =
+                               iface->txcnt = 0;
+                               iface->rxcnt = 0;
+                               cs = iface->spi_devs[msg->addr].cs;
+                               iface->transfer_ctrl =
                                        (cs & 0xff) << 16
-                                       | (spi_tms570_drv->spi_devs[msg->addr].wdel & 0x1) << 26
-                                       | (spi_tms570_drv->spi_devs[msg->addr].cshold & 0x1) << 28
-                                       | (spi_tms570_drv->spi_devs[msg->addr].dfsel & 0x3) << 24;
+                                       | (iface->spi_devs[msg->addr].wdel & 0x1) << 26
+                                       | (iface->spi_devs[msg->addr].cshold & 0x1) << 28
+                                       | (iface->spi_devs[msg->addr].dfsel & 0x3) << 24;
 
                                /* GPIO CS -- setting the multiplexer */
                                if (cs > 0xff) {
@@ -330,13 +330,13 @@ void spi_tms570_isr(int spi_ifc, uint32_t flags)
                        }
 
                        rq_len = msg->rq_len;
-                       rxcnt = spi_tms570_drv->rxcnt;
-                       txcnt = spi_tms570_drv->txcnt;
+                       rxcnt = iface->rxcnt;
+                       txcnt = iface->txcnt;
                        /* RX/TX transfers */
                        do {
                                /* Receive all the incoming data */
-                               while (spi_tms570_drv->reg->FLG & SPI_FLG_RXINT_m) {
-                                       rx_data = spi_tms570_drv->reg->BUF;
+                               while (iface->reg->FLG & SPI_FLG_RXINT_m) {
+                                       rx_data = iface->reg->BUF;
 
                                        if (msg->rx_buf && (rxcnt < rq_len))
                                                msg->rx_buf[rxcnt++] = rx_data & 0xFF;
@@ -349,7 +349,7 @@ void spi_tms570_isr(int spi_ifc, uint32_t flags)
                                while (1) {
                                        /* Tx buffer full or nothing to send */
                                        stop_fl = ((txcnt >= rq_len) ||
-                                                          (!(spi_tms570_drv->reg->FLG & SPI_FLG_TXINT_m)));
+                                                          (!(iface->reg->FLG & SPI_FLG_TXINT_m)));
 
                                        if (stop_fl)
                                                break;
@@ -363,39 +363,39 @@ void spi_tms570_isr(int spi_ifc, uint32_t flags)
                                        }
 
                                        if (txcnt == rq_len) /* Disable CS for the last byte of the transfer */
-                                               spi_tms570_drv->transfer_ctrl &= ~SPI_DAT1_CSHOLD_m;
+                                               iface->transfer_ctrl &= ~SPI_DAT1_CSHOLD_m;
 
-                                       spi_tms570_drv->reg->DAT1 =
-                                               (uint32_t)(spi_tms570_drv->transfer_ctrl | val_to_wr);
+                                       iface->reg->DAT1 =
+                                               (uint32_t)(iface->transfer_ctrl | val_to_wr);
 
                                        /* We just received something */
-                                       if (spi_tms570_drv->reg->FLG & SPI_FLG_RXINT_m)
+                                       if (iface->reg->FLG & SPI_FLG_RXINT_m)
                                                break;
                                }
                        } while (!stop_fl);
-                       spi_tms570_drv->rxcnt = rxcnt;
-                       spi_tms570_drv->txcnt = txcnt;
+                       iface->rxcnt = rxcnt;
+                       iface->txcnt = txcnt;
 
                        if ((rxcnt >= rq_len) ||
                                (!msg->rx_buf && (txcnt >= rq_len) &&
-                                !(spi_tms570_drv->reg->FLG & SPI_FLG_RXINT_m))) { // FIXME
+                                !(iface->reg->FLG & SPI_FLG_RXINT_m))) { // FIXME
 
                                /* Sending of the message successfully finished */
                                spi_isr_lock(saveif);
                                spi_rq_queue_del_item(msg);
                                msg->flags |= SPI_MSG_FINISHED;
-                               spi_tms570_drv->spi_drv.msg_act = NULL;
+                               iface->spi_drv.msg_act = NULL;
                                spi_isr_unlock(saveif);
                                if (msg->callback)
-                                       msg->callback(&spi_tms570_drv->spi_drv,
+                                       msg->callback(&iface->spi_drv,
                                                                  SPI_MSG_FINISHED, msg);
 
                                continue;
                        }
                        if (txcnt < rq_len)
-                               spi_tms570_drv->reg->INT0 = SPI_INT0_TXINTENA_m;
+                               iface->reg->INT0 = SPI_INT0_TXINTENA_m;
                        else
-                               spi_tms570_drv->reg->INT0 = SPI_INT0_RXINTENA_m;
+                               iface->reg->INT0 = SPI_INT0_RXINTENA_m;
 
                } while (1);
        }