ODROID-N2: Add static keyword to the new PWM functions
To avoid unforeseen collision, add static keyword to the functions. And did some codes clean-up to fit into the exist code style. Signed-off-by: Joshua Yang <joshua.yang@hardkernel.com>
This commit is contained in:
@@ -205,9 +205,8 @@ static int _pwmWrite (int pin, int value);
|
||||
static int _analogRead (int pin);
|
||||
static int _digitalWriteByte (const unsigned int value);
|
||||
static unsigned int _digitalReadByte (void);
|
||||
|
||||
static void _pwmSetRange (unsigned int range);
|
||||
static void _pwmSetClock (int divisor);
|
||||
static void _pwmSetRange (unsigned int range);
|
||||
static void _pwmSetClock (int divisor);
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
// board init function
|
||||
@@ -724,7 +723,7 @@ static int _digitalWriteByte (const unsigned int value)
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
void _pwmSetRange (unsigned int range)
|
||||
static void _pwmSetRange (unsigned int range)
|
||||
{
|
||||
range = range & 0xFFFF;
|
||||
for( int i = 0; i < 6; ++i )
|
||||
@@ -734,7 +733,7 @@ void _pwmSetRange (unsigned int range)
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
void _pwmSetClock (int divisor)
|
||||
static void _pwmSetClock (int divisor)
|
||||
{
|
||||
divisor = (divisor - 1) & 0x7F;
|
||||
|
||||
@@ -800,7 +799,7 @@ static void init_gpio_mmap (void)
|
||||
msg(MSG_ERR, "wiringPiSetup: mmap (GPIO) failed: %s \n", strerror (errno));
|
||||
else
|
||||
gpio = (uint32_t *) mapped;
|
||||
|
||||
|
||||
for(uint16_t i = 1; i < 3; ++i) {
|
||||
pwm[i] = ( uint32_t * )mmap( 0, BLOCK_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, N2_GPIO_PWM_BASE + (0x1000 * (2 - i)) );
|
||||
if( ( void * )pwm == MAP_FAILED )
|
||||
@@ -846,9 +845,8 @@ void init_odroidn2 (struct libodroid *libwiring)
|
||||
libwiring->analogRead = _analogRead;
|
||||
libwiring->digitalWriteByte = _digitalWriteByte;
|
||||
libwiring->digitalReadByte = _digitalReadByte;
|
||||
|
||||
libwiring->pwmSetRange =_pwmSetRange;
|
||||
libwiring->pwmSetClock =_pwmSetClock;
|
||||
libwiring->pwmSetRange = _pwmSetRange;
|
||||
libwiring->pwmSetClock = _pwmSetClock;
|
||||
|
||||
/* specify pin base number */
|
||||
libwiring->pinBase = N2_GPIO_PIN_BASE;
|
||||
|
||||
@@ -49,18 +49,18 @@
|
||||
#define N2_PWM_MISC_REG_01_OFFSET 0x02
|
||||
|
||||
/// PWM_MISC_REG_CD
|
||||
#define N2_PWM_1_INV_EN ( 27 )
|
||||
#define N2_PWM_0_INV_EN ( 26 )
|
||||
#define N2_PWM_1_CLK_EN ( 23 )
|
||||
#define N2_PWM_1_CLK_DIV0 ( 16 ) /// 22 ~ 16
|
||||
#define N2_PWM_0_CLK_EN ( 15 )
|
||||
#define N2_PWM_0_CLK_DIV0 ( 8 ) /// 14 ~ 8
|
||||
#define N2_PWM_1_CLK_SEL0 ( 6 ) /// 7 ~ 6
|
||||
#define N2_PWM_0_CLK_SEL0 ( 4 ) /// 5 ~ 4
|
||||
#define N2_PWM_1_DS_EN ( 3 )
|
||||
#define N2_PWM_0_DS_EN ( 2 )
|
||||
#define N2_PWM_1_EN ( 1 )
|
||||
#define N2_PWM_0_EN ( 0 )
|
||||
#define N2_PWM_1_INV_EN ( 27 )
|
||||
#define N2_PWM_0_INV_EN ( 26 )
|
||||
#define N2_PWM_1_CLK_EN ( 23 )
|
||||
#define N2_PWM_1_CLK_DIV0 ( 16 ) /// 22 ~ 16
|
||||
#define N2_PWM_0_CLK_EN ( 15 )
|
||||
#define N2_PWM_0_CLK_DIV0 ( 8 ) /// 14 ~ 8
|
||||
#define N2_PWM_1_CLK_SEL0 ( 6 ) /// 7 ~ 6
|
||||
#define N2_PWM_0_CLK_SEL0 ( 4 ) /// 5 ~ 4
|
||||
#define N2_PWM_1_DS_EN ( 3 )
|
||||
#define N2_PWM_0_DS_EN ( 2 )
|
||||
#define N2_PWM_1_EN ( 1 )
|
||||
#define N2_PWM_0_EN ( 0 )
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
@@ -138,10 +138,9 @@ struct libodroid
|
||||
int (*analogRead) (int pin);
|
||||
int (*digitalWriteByte) (const unsigned int value);
|
||||
unsigned int (*digitalReadByte) (void);
|
||||
|
||||
void (*pwmSetMode) (int mode);
|
||||
void (*pwmSetRange) (unsigned int range);
|
||||
void (*pwmSetClock) (int divisor);
|
||||
void (*pwmSetMode) (int mode);
|
||||
void (*pwmSetRange) (unsigned int range);
|
||||
void (*pwmSetClock) (int divisor);
|
||||
|
||||
/* ISR Function pointer */
|
||||
void (*isrFunctions[256])(void);
|
||||
@@ -269,6 +268,9 @@ extern unsigned int digitalReadByte (void);
|
||||
extern void digitalWriteByte (const int value);
|
||||
extern void pwmWrite (int pin, int value);
|
||||
extern int analogRead (int pin);
|
||||
extern void pwmSetMode (int mode);
|
||||
extern void pwmSetRange (unsigned int range);
|
||||
extern void pwmSetClock (int divisor);
|
||||
|
||||
// Hardware specific stuffs
|
||||
extern int piGpioLayout (void);
|
||||
@@ -281,9 +283,6 @@ extern int physPinToGpio (int physPin);
|
||||
extern void pinModeAlt (int pin, int mode) UNU;
|
||||
extern void analogWrite (int pin, int value) UNU;
|
||||
extern void pwmToneWrite (int pin, int freq) UNU;
|
||||
extern void pwmSetMode (int mode) UNU;
|
||||
extern void pwmSetRange (unsigned int range) UNU;
|
||||
extern void pwmSetClock (int divisor) UNU;
|
||||
extern void gpioClockSet (int pin, int freq) UNU;
|
||||
extern unsigned int digitalReadByte (void) UNU;
|
||||
extern unsigned int digitalReadByte2 (void) UNU;
|
||||
|
||||
Reference in New Issue
Block a user