From 18fb8f676f0f650d83f69bc29ab45b04b73e86c1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 8 Mar 2011 10:09:57 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2808 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/AT91SAM7/mac_lld.c | 44 +++++++++---------- os/hal/platforms/AT91SAM7/mac_lld.h | 25 ++++++----- os/hal/platforms/AT91SAM7/spi_lld.c | 88 ++++++++++++++++++------------------- os/hal/platforms/AT91SAM7/spi_lld.h | 20 ++++----- 4 files changed, 89 insertions(+), 88 deletions(-) (limited to 'os/hal/platforms/AT91SAM7') diff --git a/os/hal/platforms/AT91SAM7/mac_lld.c b/os/hal/platforms/AT91SAM7/mac_lld.c index ee71b2e23..15529ac04 100644 --- a/os/hal/platforms/AT91SAM7/mac_lld.c +++ b/os/hal/platforms/AT91SAM7/mac_lld.c @@ -100,9 +100,9 @@ static void serve_interrupt(void) { if ((isr & AT91C_EMAC_RCOMP) || (rsr & RSR_BITS)) { if (rsr & AT91C_EMAC_REC) { chSysLockFromIsr(); - chSemResetI(Ð1.md_rdsem, 0); + chSemResetI(Ð1.rdsem, 0); #if CH_USE_EVENTS - chEvtBroadcastI(Ð1.md_rdevent); + chEvtBroadcastI(Ð1.rdevent); #endif chSysUnlockFromIsr(); } @@ -112,7 +112,7 @@ static void serve_interrupt(void) { if ((isr & AT91C_EMAC_TCOMP) || (tsr & TSR_BITS)) { if (tsr & AT91C_EMAC_COMP) { chSysLockFromIsr(); - chSemResetI(Ð1.md_tdsem, 0); + chSemResetI(Ð1.tdsem, 0); chSysUnlockFromIsr(); } AT91C_BASE_EMAC->EMAC_TSR = TSR_BITS; @@ -291,9 +291,9 @@ msg_t max_lld_get_transmit_descriptor(MACDriver *macp, else edp->w2 = W2_T_LOCKED | W2_T_USED | W2_T_LAST_BUFFER; chSysUnlock(); - tdp->td_offset = 0; - tdp->td_size = EMAC_TRANSMIT_BUFFERS_SIZE; - tdp->td_physdesc = edp; + tdp->offset = 0; + tdp->size = EMAC_TRANSMIT_BUFFERS_SIZE; + tdp->physdesc = edp; return RDY_OK; } @@ -315,13 +315,13 @@ size_t mac_lld_write_transmit_descriptor(MACTransmitDescriptor *tdp, uint8_t *buf, size_t size) { - if (size > tdp->td_size - tdp->td_offset) - size = tdp->td_size - tdp->td_offset; + if (size > tdp->size - tdp->offset) + size = tdp->size - tdp->offset; if (size > 0) { - memcpy((uint8_t *)(tdp->td_physdesc->w1 & W1_T_ADDRESS_MASK) + - tdp->td_offset, + memcpy((uint8_t *)(tdp->physdesc->w1 & W1_T_ADDRESS_MASK) + + tdp->offset, buf, size); - tdp->td_offset += size; + tdp->offset += size; } return size; } @@ -337,9 +337,9 @@ size_t mac_lld_write_transmit_descriptor(MACTransmitDescriptor *tdp, void mac_lld_release_transmit_descriptor(MACTransmitDescriptor *tdp) { chSysLock(); - tdp->td_physdesc->w2 = (tdp->td_physdesc->w2 & + tdp->physdesc->w2 = (tdp->physdesc->w2 & ~(W2_T_LOCKED | W2_T_USED | W2_T_LENGTH_MASK)) | - tdp->td_offset; + tdp->offset; AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_TSTART; chSysUnlock(); } @@ -400,9 +400,9 @@ restart: * End Of Frame found. */ if (rxptr->w2 & W2_R_FRAME_END) { - rdp->rd_offset = 0; - rdp->rd_size = rxptr->w2 & W2_T_LENGTH_MASK; - rdp->rd_physdesc = edp; + rdp->offset = 0; + rdp->size = rxptr->w2 & W2_T_LENGTH_MASK; + rdp->physdesc = edp; return RDY_OK; } @@ -435,11 +435,11 @@ restart: size_t mac_lld_read_receive_descriptor(MACReceiveDescriptor *rdp, uint8_t *buf, size_t size) { - if (size > rdp->rd_size - rdp->rd_offset) - size = rdp->rd_size - rdp->rd_offset; + if (size > rdp->size - rdp->offset) + size = rdp->size - rdp->offset; if (size > 0) { - uint8_t *src = (uint8_t *)(rdp->rd_physdesc->w1 & W1_R_ADDRESS_MASK) + - rdp->rd_offset; + uint8_t *src = (uint8_t *)(rdp->physdesc->w1 & W1_R_ADDRESS_MASK) + + rdp->offset; uint8_t *limit = &rb[EMAC_RECEIVE_DESCRIPTORS * EMAC_RECEIVE_BUFFERS_SIZE]; if (src >= limit) src -= EMAC_RECEIVE_DESCRIPTORS * EMAC_RECEIVE_BUFFERS_SIZE; @@ -449,7 +449,7 @@ size_t mac_lld_read_receive_descriptor(MACReceiveDescriptor *rdp, } else memcpy(buf, src, size); - rdp->rd_offset += size; + rdp->offset += size; } return size; } @@ -465,7 +465,7 @@ size_t mac_lld_read_receive_descriptor(MACReceiveDescriptor *rdp, */ void mac_lld_release_receive_descriptor(MACReceiveDescriptor *rdp) { bool_t done; - EMACDescriptor *edp = rdp->rd_physdesc; + EMACDescriptor *edp = rdp->physdesc; unsigned n = EMAC_RECEIVE_DESCRIPTORS; do { diff --git a/os/hal/platforms/AT91SAM7/mac_lld.h b/os/hal/platforms/AT91SAM7/mac_lld.h index 21503dd53..ed8fb1ee2 100644 --- a/os/hal/platforms/AT91SAM7/mac_lld.h +++ b/os/hal/platforms/AT91SAM7/mac_lld.h @@ -66,7 +66,7 @@ #define W1_T_ADDRESS_MASK 0xFFFFFFFF #define W2_T_LENGTH_MASK 0x000007FF -#define W2_T_LOCKED 0x00000800 /* Not an EMAC flag, used by the driver */ +#define W2_T_LOCKED 0x00000800 /* Not an EMAC flag. */ #define W2_T_RFU1 0x00003000 #define W2_T_LAST_BUFFER 0x00008000 #define W2_T_NO_CRC 0x00010000 @@ -130,10 +130,10 @@ typedef struct { * @brief Structure representing a MAC driver. */ typedef struct { - Semaphore md_tdsem; /**< Transmit semaphore. */ - Semaphore md_rdsem; /**< Receive semaphore. */ + Semaphore tdsem; /**< Transmit semaphore. */ + Semaphore rdsem; /**< Receive semaphore. */ #if CH_USE_EVENTS - EventSource md_rdevent; /**< Receive event source. */ + EventSource rdevent; /**< Receive event source. */ #endif /* End of the mandatory fields.*/ } MACDriver; @@ -142,22 +142,23 @@ typedef struct { * @brief Structure representing a transmit descriptor. */ typedef struct { - size_t td_offset; /**< Current write offset. */ - size_t td_size; /**< Available space size. */ + size_t offset; /**< Current write offset. */ + size_t size; /**< Available space size. */ /* End of the mandatory fields.*/ - EMACDescriptor *td_physdesc; /**< Pointer to the physical - descriptor. */ + EMACDescriptor *physdesc; /**< Pointer to the physical + descriptor. */ } MACTransmitDescriptor; /** * @brief Structure representing a receive descriptor. */ typedef struct { - size_t rd_offset; /**< Current read offset. */ - size_t rd_size; /**< Available data size. */ + size_t offset; /**< Current read offset. */ + size_t size; /**< Available data size. */ /* End of the mandatory fields.*/ - EMACDescriptor *rd_physdesc; /**< Pointer to the first descriptor - of the buffers chain. */ + EMACDescriptor *physdesc; /**< Pointer to the first + descriptor of the buffers + chain. */ } MACReceiveDescriptor; /*===========================================================================*/ diff --git a/os/hal/platforms/AT91SAM7/spi_lld.c b/os/hal/platforms/AT91SAM7/spi_lld.c index 316ff65c9..ec3853872 100644 --- a/os/hal/platforms/AT91SAM7/spi_lld.c +++ b/os/hal/platforms/AT91SAM7/spi_lld.c @@ -121,14 +121,14 @@ __attribute__((noinline)) * @param[in] spip pointer to the @p SPIDriver object */ static void spi_lld_serve_interrupt(SPIDriver *spip) { - uint32_t sr = spip->spd_spi->SPI_SR; + uint32_t sr = spip->spi->SPI_SR; if ((sr & AT91C_SPI_ENDRX) != 0) { - (void)spip->spd_spi->SPI_RDR; /* Clears eventual overflow.*/ - spip->spd_spi->SPI_PTCR = AT91C_PDC_RXTDIS | + (void)spip->spi->SPI_RDR; /* Clears eventual overflow.*/ + spip->spi->SPI_PTCR = AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS; /* PDC disabled. */ - spip->spd_spi->SPI_IDR = AT91C_SPI_ENDRX; /* Interrupt disabled. */ - spip->spd_spi->SPI_CR = AT91C_SPI_SPIDIS; /* SPI disabled. */ + spip->spi->SPI_IDR = AT91C_SPI_ENDRX; /* Interrupt disabled. */ + spip->spi->SPI_CR = AT91C_SPI_SPIDIS; /* SPI disabled. */ /* Portable SPI ISR code defined in the high level driver, note, it is a macro.*/ _spi_isr_code(spip); @@ -182,7 +182,7 @@ void spi_lld_init(void) { #if AT91SAM7_SPI_USE_SPI0 spiObjectInit(&SPID1); - SPID1.spd_spi = AT91C_BASE_SPI0; + SPID1.spi = AT91C_BASE_SPI0; spi_init(AT91C_BASE_SPI0); AT91C_BASE_PIOA->PIO_PDR = SPI0_MISO | SPI0_MOSI | SPI0_SCK; AT91C_BASE_PIOA->PIO_ASR = SPI0_MISO | SPI0_MOSI | SPI0_SCK; @@ -194,7 +194,7 @@ void spi_lld_init(void) { #if AT91SAM7_SPI_USE_SPI1 spiObjectInit(&SPID2); - SPID2.spd_spi = AT91C_BASE_SPI1; + SPID2.spi = AT91C_BASE_SPI1; spi_init(AT91C_BASE_SPI1); AT91C_BASE_PIOA->PIO_PDR = SPI1_MISO | SPI1_MOSI | SPI1_SCK; AT91C_BASE_PIOA->PIO_BSR = SPI1_MISO | SPI1_MOSI | SPI1_SCK; @@ -214,7 +214,7 @@ void spi_lld_init(void) { */ void spi_lld_start(SPIDriver *spip) { - if (spip->spd_state == SPI_STOP) { + if (spip->state == SPI_STOP) { #if AT91SAM7_SPI_USE_SPI0 if (&SPID1 == spip) { /* Clock activation.*/ @@ -233,7 +233,7 @@ void spi_lld_start(SPIDriver *spip) { #endif } /* Configuration.*/ - spip->spd_spi->SPI_CSR[0] = spip->spd_config->spc_csr; + spip->spi->SPI_CSR[0] = spip->config->csr; } /** @@ -245,7 +245,7 @@ void spi_lld_start(SPIDriver *spip) { */ void spi_lld_stop(SPIDriver *spip) { - if (spip->spd_state != SPI_STOP) { + if (spip->state != SPI_STOP) { #if AT91SAM7_SPI_USE_SPI0 if (&SPID1 == spip) { AT91C_BASE_PMC->PMC_PCDR = (1 << AT91C_ID_SPI0); @@ -270,7 +270,7 @@ void spi_lld_stop(SPIDriver *spip) { */ void spi_lld_select(SPIDriver *spip) { - palClearPad(spip->spd_config->spc_ssport, spip->spd_config->spc_sspad); + palClearPad(spip->config->ssport, spip->config->sspad); } /** @@ -283,7 +283,7 @@ void spi_lld_select(SPIDriver *spip) { */ void spi_lld_unselect(SPIDriver *spip) { - palSetPad(spip->spd_config->spc_ssport, spip->spd_config->spc_sspad); + palSetPad(spip->config->ssport, spip->config->sspad); } /** @@ -299,13 +299,13 @@ void spi_lld_unselect(SPIDriver *spip) { */ void spi_lld_ignore(SPIDriver *spip, size_t n) { - spip->spd_spi->SPI_TCR = n; - spip->spd_spi->SPI_RCR = n; - spip->spd_spi->SPI_TPR = (AT91_REG)idle_buf; - spip->spd_spi->SPI_RPR = (AT91_REG)idle_buf; - spip->spd_spi->SPI_IER = AT91C_SPI_ENDRX; - spip->spd_spi->SPI_CR = AT91C_SPI_SPIEN; - spip->spd_spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; + spip->spi->SPI_TCR = n; + spip->spi->SPI_RCR = n; + spip->spi->SPI_TPR = (AT91_REG)idle_buf; + spip->spi->SPI_RPR = (AT91_REG)idle_buf; + spip->spi->SPI_IER = AT91C_SPI_ENDRX; + spip->spi->SPI_CR = AT91C_SPI_SPIEN; + spip->spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; } /** @@ -323,13 +323,13 @@ void spi_lld_ignore(SPIDriver *spip, size_t n) { void spi_lld_exchange(SPIDriver *spip, size_t n, const void *txbuf, void *rxbuf) { - spip->spd_spi->SPI_TCR = n; - spip->spd_spi->SPI_RCR = n; - spip->spd_spi->SPI_TPR = (AT91_REG)txbuf; - spip->spd_spi->SPI_RPR = (AT91_REG)rxbuf; - spip->spd_spi->SPI_IER = AT91C_SPI_ENDRX; - spip->spd_spi->SPI_CR = AT91C_SPI_SPIEN; - spip->spd_spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; + spip->spi->SPI_TCR = n; + spip->spi->SPI_RCR = n; + spip->spi->SPI_TPR = (AT91_REG)txbuf; + spip->spi->SPI_RPR = (AT91_REG)rxbuf; + spip->spi->SPI_IER = AT91C_SPI_ENDRX; + spip->spi->SPI_CR = AT91C_SPI_SPIEN; + spip->spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; } /** @@ -344,13 +344,13 @@ void spi_lld_exchange(SPIDriver *spip, size_t n, */ void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) { - spip->spd_spi->SPI_TCR = n; - spip->spd_spi->SPI_RCR = n; - spip->spd_spi->SPI_TPR = (AT91_REG)txbuf; - spip->spd_spi->SPI_RPR = (AT91_REG)idle_buf; - spip->spd_spi->SPI_IER = AT91C_SPI_ENDRX; - spip->spd_spi->SPI_CR = AT91C_SPI_SPIEN; - spip->spd_spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; + spip->spi->SPI_TCR = n; + spip->spi->SPI_RCR = n; + spip->spi->SPI_TPR = (AT91_REG)txbuf; + spip->spi->SPI_RPR = (AT91_REG)idle_buf; + spip->spi->SPI_IER = AT91C_SPI_ENDRX; + spip->spi->SPI_CR = AT91C_SPI_SPIEN; + spip->spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; } /** @@ -365,13 +365,13 @@ void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) { */ void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) { - spip->spd_spi->SPI_TCR = n; - spip->spd_spi->SPI_RCR = n; - spip->spd_spi->SPI_TPR = (AT91_REG)idle_buf; - spip->spd_spi->SPI_RPR = (AT91_REG)rxbuf; - spip->spd_spi->SPI_IER = AT91C_SPI_ENDRX; - spip->spd_spi->SPI_CR = AT91C_SPI_SPIEN; - spip->spd_spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; + spip->spi->SPI_TCR = n; + spip->spi->SPI_RCR = n; + spip->spi->SPI_TPR = (AT91_REG)idle_buf; + spip->spi->SPI_RPR = (AT91_REG)rxbuf; + spip->spi->SPI_IER = AT91C_SPI_ENDRX; + spip->spi->SPI_CR = AT91C_SPI_SPIEN; + spip->spi->SPI_PTCR = AT91C_PDC_RXTEN | AT91C_PDC_TXTEN; } /** @@ -388,11 +388,11 @@ void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) { */ uint16_t spi_lld_polled_exchange(SPIDriver *spip, uint16_t frame) { - spip->spd_spi->SPI_CR = AT91C_SPI_SPIEN; - spip->spd_spi->SPI_TDR = frame; - while ((spip->spd_spi->SPI_SR & AT91C_SPI_RDRF) == 0) + spip->spi->SPI_CR = AT91C_SPI_SPIEN; + spip->spi->SPI_TDR = frame; + while ((spip->spi->SPI_SR & AT91C_SPI_RDRF) == 0) ; - return spip->spd_spi->SPI_RDR; + return spip->spi->SPI_RDR; } #endif /* HAL_USE_SPI */ diff --git a/os/hal/platforms/AT91SAM7/spi_lld.h b/os/hal/platforms/AT91SAM7/spi_lld.h index 3b0bfaaba..ec0af3740 100644 --- a/os/hal/platforms/AT91SAM7/spi_lld.h +++ b/os/hal/platforms/AT91SAM7/spi_lld.h @@ -127,20 +127,20 @@ typedef struct { /** * @brief Operation complete callback or @p NULL. */ - spicallback_t spc_endcb; + spicallback_t end_cb; /* End of the mandatory fields.*/ /** * @brief The chip select line port. */ - ioportid_t spc_ssport; + ioportid_t ssport; /** * @brief The chip select line pad number. */ - uint16_t spc_sspad; + uint16_t sspad; /** * @brief SPI Chip Select Register initialization data. */ - uint32_t spc_csr; + uint32_t csr; } SPIConfig; /** @@ -150,25 +150,25 @@ struct SPIDriver { /** * @brief Driver state. */ - spistate_t spd_state; + spistate_t state; /** * @brief Current configuration data. */ - const SPIConfig *spd_config; + const SPIConfig *config; #if SPI_USE_WAIT || defined(__DOXYGEN__) /** * @brief Waiting thread. */ - Thread *spd_thread; + Thread *thread; #endif /* SPI_USE_WAIT */ #if SPI_USE_MUTUAL_EXCLUSION || defined(__DOXYGEN__) #if CH_USE_MUTEXES || defined(__DOXYGEN__) /** * @brief Mutex protecting the bus. */ - Mutex spd_mutex; + Mutex mutex; #elif CH_USE_SEMAPHORES - Semaphore spd_semaphore; + Semaphore semaphore; #endif #endif /* SPI_USE_MUTUAL_EXCLUSION */ #if defined(SPI_DRIVER_EXT_FIELDS) @@ -178,7 +178,7 @@ struct SPIDriver { /** * @brief Pointer to the SPIx registers block. */ - AT91PS_SPI spd_spi; + AT91PS_SPI spi; }; /*===========================================================================*/ -- cgit v1.2.3