1
0
mirror of https://github.com/elua/elua.git synced 2025-01-25 01:02:54 +08:00

Remove tab characters and trailing spaces from avr32 platform code

and regularize indentation/spacing in new uip/ethernet code.
This commit is contained in:
Martin Guy 2011-06-17 19:00:05 +02:00
parent dca244112b
commit 6d9cc5eb8c
10 changed files with 101 additions and 98 deletions

View File

@ -81,7 +81,7 @@
#define NETLINE #define NETLINE
#endif #endif
#if defined( BUILD_RPC ) #if defined( BUILD_RPC )
#define RPCLINE _ROM( AUXLIB_RPC, luaopen_rpc, rpc_map ) #define RPCLINE _ROM( AUXLIB_RPC, luaopen_rpc, rpc_map )
#else #else
#define RPCLINE #define RPCLINE
@ -128,8 +128,8 @@
#else #else
#define NUM_TIMER 3 #define NUM_TIMER 3
#endif #endif
#define NUM_PWM 7 // PWM7 is on GPIO50 #define NUM_PWM 7 // PWM7 is on GPIO50
#define NUM_ADC 8 // Though ADC3 pin is the Ethernet IRQ #define NUM_ADC 8 // Though ADC3 pin is the Ethernet IRQ
#define NUM_CAN 0 #define NUM_CAN 0
// As flow control seems not to work, we use a large buffer so that people // As flow control seems not to work, we use a large buffer so that people

View File

@ -789,7 +789,7 @@ __attribute__((__interrupt__)) void vMACB_ISR(void)
// Variable definitions can be made now. // Variable definitions can be made now.
volatile unsigned long ulIntStatus, ulEventStatus; volatile unsigned long ulIntStatus, ulEventStatus;
// Find the cause of the interrupt. // Find the cause of the interrupt.
ulIntStatus = AVR32_MACB.isr; ulIntStatus = AVR32_MACB.isr;
ulEventStatus = AVR32_MACB.rsr; ulEventStatus = AVR32_MACB.rsr;

View File

@ -44,8 +44,8 @@
// UIP sys tick data // UIP sys tick data
// NOTE: when using virtual timers, SYSTICKHZ and VTMR_FREQ_HZ should have the // NOTE: when using virtual timers, SYSTICKHZ and VTMR_FREQ_HZ should have the
// same value, as they're served by the same timer (the systick) // same value, as they're served by the same timer (the systick)
#define SYSTICKHZ 4 #define SYSTICKHZ 4
#define SYSTICKMS (1000 / SYSTICKHZ) #define SYSTICKMS (1000 / SYSTICKHZ)
#ifdef BUILD_UIP #ifdef BUILD_UIP
static int eth_timer_fired; static int eth_timer_fired;
@ -54,7 +54,7 @@ static int eth_timer_fired;
// **************************************************************************** // ****************************************************************************
// Platform initialization // Platform initialization
#ifdef BUILD_UIP #ifdef BUILD_UIP
u32 platform_ethernet_setup(void); u32 platform_ethernet_setup( void );
#endif #endif
extern int pm_configure_clocks( pm_freq_param_t *param ); extern int pm_configure_clocks( pm_freq_param_t *param );
@ -88,7 +88,7 @@ __attribute__((__interrupt__)) static void tmr_int_handler()
// of incrementing the timers and taking the appropriate actions. // of incrementing the timers and taking the appropriate actions.
platform_eth_force_interrupt(); platform_eth_force_interrupt();
#endif #endif
} }
#endif #endif
const u32 uart_base_addr[ ] = { const u32 uart_base_addr[ ] = {
@ -870,8 +870,8 @@ static const gpio_map_t pwm_pins =
{ AVR32_PWM_1_PIN, AVR32_PWM_1_FUNCTION }, { AVR32_PWM_1_PIN, AVR32_PWM_1_FUNCTION },
{ AVR32_PWM_2_PIN, AVR32_PWM_2_FUNCTION }, { AVR32_PWM_2_PIN, AVR32_PWM_2_FUNCTION },
{ AVR32_PWM_3_PIN, AVR32_PWM_3_FUNCTION }, { AVR32_PWM_3_PIN, AVR32_PWM_3_FUNCTION },
{ AVR32_PWM_4_1_PIN, AVR32_PWM_4_1_FUNCTION }, // PB27 { AVR32_PWM_4_1_PIN, AVR32_PWM_4_1_FUNCTION }, // PB27
{ AVR32_PWM_5_1_PIN, AVR32_PWM_5_1_FUNCTION }, // PB28 { AVR32_PWM_5_1_PIN, AVR32_PWM_5_1_FUNCTION }, // PB28
{ AVR32_PWM_6_PIN, AVR32_PWM_6_FUNCTION }, { AVR32_PWM_6_PIN, AVR32_PWM_6_FUNCTION },
}; };
@ -1012,80 +1012,81 @@ u32 platform_pwm_op( unsigned id, int op, u32 data)
#ifdef BUILD_UIP #ifdef BUILD_UIP
static const gpio_map_t MACB_GPIO_MAP = static const gpio_map_t MACB_GPIO_MAP =
{ {
{AVR32_MACB_MDC_0_PIN, AVR32_MACB_MDC_0_FUNCTION }, { AVR32_MACB_MDC_0_PIN, AVR32_MACB_MDC_0_FUNCTION },
{AVR32_MACB_MDIO_0_PIN, AVR32_MACB_MDIO_0_FUNCTION }, { AVR32_MACB_MDIO_0_PIN, AVR32_MACB_MDIO_0_FUNCTION },
{AVR32_MACB_RXD_0_PIN, AVR32_MACB_RXD_0_FUNCTION }, { AVR32_MACB_RXD_0_PIN, AVR32_MACB_RXD_0_FUNCTION },
{AVR32_MACB_TXD_0_PIN, AVR32_MACB_TXD_0_FUNCTION }, { AVR32_MACB_TXD_0_PIN, AVR32_MACB_TXD_0_FUNCTION },
{AVR32_MACB_RXD_1_PIN, AVR32_MACB_RXD_1_FUNCTION }, { AVR32_MACB_RXD_1_PIN, AVR32_MACB_RXD_1_FUNCTION },
{AVR32_MACB_TXD_1_PIN, AVR32_MACB_TXD_1_FUNCTION }, { AVR32_MACB_TXD_1_PIN, AVR32_MACB_TXD_1_FUNCTION },
{AVR32_MACB_TX_EN_0_PIN, AVR32_MACB_TX_EN_0_FUNCTION }, { AVR32_MACB_TX_EN_0_PIN, AVR32_MACB_TX_EN_0_FUNCTION },
{AVR32_MACB_RX_ER_0_PIN, AVR32_MACB_RX_ER_0_FUNCTION }, { AVR32_MACB_RX_ER_0_PIN, AVR32_MACB_RX_ER_0_FUNCTION },
{AVR32_MACB_RX_DV_0_PIN, AVR32_MACB_RX_DV_0_FUNCTION }, { AVR32_MACB_RX_DV_0_PIN, AVR32_MACB_RX_DV_0_FUNCTION },
{AVR32_MACB_TX_CLK_0_PIN, AVR32_MACB_TX_CLK_0_FUNCTION} { AVR32_MACB_TX_CLK_0_PIN, AVR32_MACB_TX_CLK_0_FUNCTION },
}; };
u32 platform_ethernet_setup() u32 platform_ethernet_setup()
{ {
static struct uip_eth_addr sTempAddr; static struct uip_eth_addr sTempAddr = {
// Assign GPIO to MACB .addr[0] = ETHERNET_CONF_ETHADDR0;
gpio_enable_module(MACB_GPIO_MAP, sizeof(MACB_GPIO_MAP) / sizeof(MACB_GPIO_MAP[0])); .addr[1] = ETHERNET_CONF_ETHADDR1;
.addr[2] = ETHERNET_CONF_ETHADDR2;
.addr[3] = ETHERNET_CONF_ETHADDR3;
.addr[4] = ETHERNET_CONF_ETHADDR4;
.addr[5] = ETHERNET_CONF_ETHADDR5;
}
// initialize MACB & Phy Layers // Assign GPIO to MACB
if (xMACBInit(&AVR32_MACB) == FALSE ) { gpio_enable_module( MACB_GPIO_MAP, sizeof(MACB_GPIO_MAP ) / sizeof( MACB_GPIO_MAP[0] ) );
return PLATFORM_ERR;
}
sTempAddr.addr[0] = ETHERNET_CONF_ETHADDR0; // initialize MACB & Phy Layers
sTempAddr.addr[1] = ETHERNET_CONF_ETHADDR1; if ( xMACBInit( &AVR32_MACB ) == FALSE ) {
sTempAddr.addr[2] = ETHERNET_CONF_ETHADDR2; return PLATFORM_ERR;
sTempAddr.addr[3] = ETHERNET_CONF_ETHADDR3; }
sTempAddr.addr[4] = ETHERNET_CONF_ETHADDR4;
sTempAddr.addr[5] = ETHERNET_CONF_ETHADDR5;
// Initialize the eLua uIP layer // Initialize the eLua uIP layer
elua_uip_init( &sTempAddr ); elua_uip_init( &sTempAddr );
return PLATFORM_OK; return PLATFORM_OK;
} }
void platform_eth_send_packet( const void* src, u32 size ) void platform_eth_send_packet( const void* src, u32 size )
{ {
lMACBSend(&AVR32_MACB,src, size, TRUE); lMACBSend( &AVR32_MACB,src, size, TRUE );
} }
u32 platform_eth_get_packet_nb( void* buf, u32 maxlen ) u32 platform_eth_get_packet_nb( void* buf, u32 maxlen )
{ {
u32 len; u32 len;
/* Obtain the size of the packet. */ /* Obtain the size of the packet. */
len = ulMACBInputLength(); len = ulMACBInputLength();
if (len > maxlen) { if( len > maxlen ) {
return 0; return 0;
} }
if( len ) { if( len ) {
/* Let the driver know we are going to read a new packet. */ /* Let the driver know we are going to read a new packet. */
vMACBRead( NULL, 0, len ); vMACBRead( NULL, 0, len );
vMACBRead( buf, len, len ); vMACBRead( buf, len, len );
} }
return len; return len;
} }
void platform_eth_force_interrupt() void platform_eth_force_interrupt()
{ {
elua_uip_mainloop(); elua_uip_mainloop();
} }
u32 platform_eth_get_elapsed_time() u32 platform_eth_get_elapsed_time()
{ {
if( eth_timer_fired ) if( eth_timer_fired )
{ {
eth_timer_fired = 0; eth_timer_fired = 0;
return SYSTICKMS; return SYSTICKMS;
} }
else else
return 0; return 0;
} }
#endif #endif

View File

@ -259,16 +259,18 @@ void pm_configure_usb_clock(void)
pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB); pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB);
#else #else
// Use 12MHz from OSC0 and generate 96 MHz // Use 12MHz from OSC0 and generate 96 MHz
pm_pll_setup(&AVR32_PM, 1, // pll. pm_pll_setup(&AVR32_PM,
7, // mul. 1, // pll.
1, // div. 7, // mul.
0, // osc. 1, // div.
16); // lockcount. 0, // osc.
16); // lockcount.
pm_pll_set_option(&AVR32_PM, 1, // pll. pm_pll_set_option(&AVR32_PM,
1, // pll_freq: choose the range 80-180MHz. 1, // pll.
1, // pll_div2. 1, // pll_freq: choose the range 80-180MHz.
0); // pll_wbwdisable. 1, // pll_div2.
0); // pll_wbwdisable.
// start PLL1 and wait forl lock // start PLL1 and wait forl lock
pm_pll_enable(&AVR32_PM, 1); pm_pll_enable(&AVR32_PM, 1);

View File

@ -5,7 +5,7 @@
*/ */
#include "pwm.h" #include "pwm.h"
#include "platform_conf.h" // for REQ_PBA_FREQ #include "platform_conf.h" // for REQ_PBA_FREQ
/* /*
* The AVR32 has 7 PWM channels, each of which chooses its clock from * The AVR32 has 7 PWM channels, each of which chooses its clock from
@ -91,7 +91,7 @@ void pwm_set_linear_divider( unsigned prea, unsigned diva )
mr.prea = prea; mr.prea = prea;
mr.diva = diva; mr.diva = diva;
mr.preb = 0; // Turn clock B off mr.preb = 0; // Turn clock B off
mr.divb = 0; mr.divb = 0;
AVR32_PWM.MR = mr; AVR32_PWM.MR = mr;
} }
@ -107,9 +107,9 @@ u32 pwm_get_clock_freq( void )
if (divisor == 0) if (divisor == 0)
{ {
// This clock is turned off. A frequency of 0 should surprise them. // This clock is turned off. A frequency of 0 should surprise them.
return 0; return 0;
} }
return REQ_PBA_FREQ / ( ( 1<<prescaler ) * divisor ); return REQ_PBA_FREQ / ( ( 1<<prescaler ) * divisor );
} }
@ -130,7 +130,7 @@ u32 pwm_get_clock_freq( void )
* the old frequency at the new duty period or vice versa. * the old frequency at the new duty period or vice versa.
* Worse, you have to be careful in which order you change them, since * Worse, you have to be careful in which order you change them, since
* duty_period > cycle_period is not allowed by the hardware. * duty_period > cycle_period is not allowed by the hardware.
* *
* - To know when one value has been flushed to its register, you have to * - To know when one value has been flushed to its register, you have to
* enable the per-channel PWM interrupt, clear its status flag and wait until * enable the per-channel PWM interrupt, clear its status flag and wait until
* that interrupt status flag goes high, which happens at the end of each * that interrupt status flag goes high, which happens at the end of each
@ -236,8 +236,8 @@ static void pwm_channel_set_period( unsigned id, u32 period )
// Select updating of the period and write into the update register // Select updating of the period and write into the update register
AVR32_PWM.channel[id].CMR.cpd = AVR32_PWM_CMR_CPD_UPDATE_CPRD; AVR32_PWM.channel[id].CMR.cpd = AVR32_PWM_CMR_CPD_UPDATE_CPRD;
update_has_flushed &= ~(1 << id); // The update hasn't happened yet... update_has_flushed &= ~(1 << id); // The update hasn't happened yet...
AVR32_PWM.channel[id].cupd = period; // Schedule the update to be performed AVR32_PWM.channel[id].cupd = period; // Schedule the update to be performed
} }
static void pwm_channel_set_duty_cycle( unsigned id, u32 duty ) static void pwm_channel_set_duty_cycle( unsigned id, u32 duty )

View File

@ -4,7 +4,7 @@
* Martin Guy <martinwguy@gmail.com>, March 2011 * Martin Guy <martinwguy@gmail.com>, March 2011
*/ */
#include "platform.h" // for u32 #include "platform.h" // for u32
// Initialize the PWM system, called at startup // Initialize the PWM system, called at startup
void pwm_init( void ); void pwm_init( void );

View File

@ -117,7 +117,7 @@ int spi_initMaster(volatile avr32_spi_t *spi, const spi_master_options_t *opt, U
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
int spi_setupChipReg(volatile avr32_spi_t *spi, int spi_setupChipReg(volatile avr32_spi_t *spi,
unsigned char reg, const spi_options_t *options, U32 pba_hz) unsigned char reg, const spi_options_t *options, U32 pba_hz)
{ {
u_avr32_spi_csr_t u_avr32_spi_csr; u_avr32_spi_csr_t u_avr32_spi_csr;
@ -167,11 +167,11 @@ int spi_selectChip(volatile avr32_spi_t *spi, unsigned char chip)
spi->mr |= AVR32_SPI_MR_PCS_MASK; spi->mr |= AVR32_SPI_MR_PCS_MASK;
if (spi->mr & AVR32_SPI_MR_PCSDEC_MASK) { if (spi->mr & AVR32_SPI_MR_PCSDEC_MASK) {
// The signal is decoded; allow up to 15 chips. // The signal is decoded; allow up to 15 chips.
if (chip > 14) goto err; if (chip > 14) goto err;
spi->mr &= ~AVR32_SPI_MR_PCS_MASK | (chip << AVR32_SPI_MR_PCS_OFFSET); spi->mr &= ~AVR32_SPI_MR_PCS_MASK | (chip << AVR32_SPI_MR_PCS_OFFSET);
}else { }else {
if (chip > 3) goto err; if (chip > 3) goto err;
spi->mr &= ~(1 << (AVR32_SPI_MR_PCS_OFFSET + chip)); spi->mr &= ~(1 << (AVR32_SPI_MR_PCS_OFFSET + chip));
} }
@ -183,7 +183,7 @@ err:
int spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip) int spi_unselectChip(volatile avr32_spi_t *spi, unsigned char chip)
{ {
while (!(spi->sr & AVR32_SPI_SR_TXEMPTY_MASK)) while (!(spi->sr & AVR32_SPI_SR_TXEMPTY_MASK))
continue; continue;
// Assert all lines; no peripheral is selected. // Assert all lines; no peripheral is selected.
spi->mr |= AVR32_SPI_MR_PCS_MASK; spi->mr |= AVR32_SPI_MR_PCS_MASK;

View File

@ -4,15 +4,15 @@
#include <avr32/io.h> #include <avr32/io.h>
#ifndef AVR32_SPI0 #ifndef AVR32_SPI0
#define AVR32_SPI0 AVR32_SPI #define AVR32_SPI0 AVR32_SPI
#define AVR32_SPI0_ADDRESS AVR32_SPI_ADDRESS #define AVR32_SPI0_ADDRESS AVR32_SPI_ADDRESS
#endif #endif
typedef enum { typedef enum {
SPI_MODE_0 = 0, SPI_MODE_0 = 0,
SPI_MODE_1, SPI_MODE_1,
SPI_MODE_2, SPI_MODE_2,
SPI_MODE_3 SPI_MODE_3
} spi_mode_t; } spi_mode_t;
//! Option structure for SPI channels. //! Option structure for SPI channels.
@ -37,12 +37,12 @@ typedef struct
typedef struct typedef struct
{ {
//! Mode fault detection disable //! Mode fault detection disable
Bool modfdis; Bool modfdis;
//! Chip select decoding //! Chip select decoding
Bool pcs_decode; Bool pcs_decode;
//! delay before chip select (in microseconds) //! delay before chip select (in microseconds)
unsigned int delay; unsigned int delay;
} spi_master_options_t; } spi_master_options_t;

View File

@ -34,7 +34,7 @@ typedef unsigned short uip_stats_t;
// //
#define UIP_CONF_PINGADDRCONF 0 #define UIP_CONF_PINGADDRCONF 0
// //
// TCP support on or off // TCP support on or off
// //
#define UIP_CONF_TCP 1 #define UIP_CONF_TCP 1

View File

@ -124,14 +124,14 @@ static int usart_set_async_baudrate(volatile avr32_usart_t *usart, unsigned int
*/ */
unsigned int usart_get_async_baudrate(volatile avr32_usart_t *usart, unsigned long pba_hz) unsigned int usart_get_async_baudrate(volatile avr32_usart_t *usart, unsigned long pba_hz)
{ {
unsigned int clock; // Master clock frequency unsigned int clock; // Master clock frequency
unsigned int over; // divisor of 8 or 16 unsigned int over; // divisor of 8 or 16
unsigned int cd; // clock divider (0-65535) unsigned int cd; // clock divider (0-65535)
unsigned int fp; // fractional part of clock divider (0-7) unsigned int fp; // fractional part of clock divider (0-7)
unsigned int divisor; // What the master clock is divided by to get unsigned int divisor; // What the master clock is divided by to get
// the final baud rate // the final baud rate
// Find // Find
switch ((usart->mr & AVR32_USART_MR_USCLKS_MASK) >> AVR32_USART_MR_USCLKS_OFFSET) switch ((usart->mr & AVR32_USART_MR_USCLKS_MASK) >> AVR32_USART_MR_USCLKS_OFFSET)
{ {
case AVR32_USART_MR_USCLKS_MCK: case AVR32_USART_MR_USCLKS_MCK:
@ -145,7 +145,7 @@ unsigned int usart_get_async_baudrate(volatile avr32_usart_t *usart, unsigned lo
case AVR32_USART_MR_USCLKS_SCK: case AVR32_USART_MR_USCLKS_SCK:
// If we have an external clock, we don't know its frequency here. // If we have an external clock, we don't know its frequency here.
default: default:
return 0; return 0;
} }
over = usart->mr & AVR32_USART_MR_OVER_MASK; over = usart->mr & AVR32_USART_MR_OVER_MASK;
@ -154,7 +154,7 @@ unsigned int usart_get_async_baudrate(volatile avr32_usart_t *usart, unsigned lo
// if CD==0, no baud rate is generated. // if CD==0, no baud rate is generated.
// if CD==1, the clock divider and fractional part are bypassed. // if CD==1, the clock divider and fractional part are bypassed.
if (cd == 0) return 0; if (cd == 0) return 0;
if (cd == 1) fp = 0; if (cd == 1) fp = 0;
// Rewriting "divisor = 8 * (2 - over) * (cd + fp/8)" for integer math: // Rewriting "divisor = 8 * (2 - over) * (cd + fp/8)" for integer math: