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 _analogRead (int pin);
|
||||||
static int _digitalWriteByte (const unsigned int value);
|
static int _digitalWriteByte (const unsigned int value);
|
||||||
static unsigned int _digitalReadByte (void);
|
static unsigned int _digitalReadByte (void);
|
||||||
|
static void _pwmSetRange (unsigned int range);
|
||||||
static void _pwmSetRange (unsigned int range);
|
static void _pwmSetClock (int divisor);
|
||||||
static void _pwmSetClock (int divisor);
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
// board init function
|
// 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;
|
range = range & 0xFFFF;
|
||||||
for( int i = 0; i < 6; ++i )
|
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;
|
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));
|
msg(MSG_ERR, "wiringPiSetup: mmap (GPIO) failed: %s \n", strerror (errno));
|
||||||
else
|
else
|
||||||
gpio = (uint32_t *) mapped;
|
gpio = (uint32_t *) mapped;
|
||||||
|
|
||||||
for(uint16_t i = 1; i < 3; ++i) {
|
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)) );
|
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 )
|
if( ( void * )pwm == MAP_FAILED )
|
||||||
@@ -846,9 +845,8 @@ void init_odroidn2 (struct libodroid *libwiring)
|
|||||||
libwiring->analogRead = _analogRead;
|
libwiring->analogRead = _analogRead;
|
||||||
libwiring->digitalWriteByte = _digitalWriteByte;
|
libwiring->digitalWriteByte = _digitalWriteByte;
|
||||||
libwiring->digitalReadByte = _digitalReadByte;
|
libwiring->digitalReadByte = _digitalReadByte;
|
||||||
|
libwiring->pwmSetRange = _pwmSetRange;
|
||||||
libwiring->pwmSetRange =_pwmSetRange;
|
libwiring->pwmSetClock = _pwmSetClock;
|
||||||
libwiring->pwmSetClock =_pwmSetClock;
|
|
||||||
|
|
||||||
/* specify pin base number */
|
/* specify pin base number */
|
||||||
libwiring->pinBase = N2_GPIO_PIN_BASE;
|
libwiring->pinBase = N2_GPIO_PIN_BASE;
|
||||||
|
|||||||
@@ -49,18 +49,18 @@
|
|||||||
#define N2_PWM_MISC_REG_01_OFFSET 0x02
|
#define N2_PWM_MISC_REG_01_OFFSET 0x02
|
||||||
|
|
||||||
/// PWM_MISC_REG_CD
|
/// PWM_MISC_REG_CD
|
||||||
#define N2_PWM_1_INV_EN ( 27 )
|
#define N2_PWM_1_INV_EN ( 27 )
|
||||||
#define N2_PWM_0_INV_EN ( 26 )
|
#define N2_PWM_0_INV_EN ( 26 )
|
||||||
#define N2_PWM_1_CLK_EN ( 23 )
|
#define N2_PWM_1_CLK_EN ( 23 )
|
||||||
#define N2_PWM_1_CLK_DIV0 ( 16 ) /// 22 ~ 16
|
#define N2_PWM_1_CLK_DIV0 ( 16 ) /// 22 ~ 16
|
||||||
#define N2_PWM_0_CLK_EN ( 15 )
|
#define N2_PWM_0_CLK_EN ( 15 )
|
||||||
#define N2_PWM_0_CLK_DIV0 ( 8 ) /// 14 ~ 8
|
#define N2_PWM_0_CLK_DIV0 ( 8 ) /// 14 ~ 8
|
||||||
#define N2_PWM_1_CLK_SEL0 ( 6 ) /// 7 ~ 6
|
#define N2_PWM_1_CLK_SEL0 ( 6 ) /// 7 ~ 6
|
||||||
#define N2_PWM_0_CLK_SEL0 ( 4 ) /// 5 ~ 4
|
#define N2_PWM_0_CLK_SEL0 ( 4 ) /// 5 ~ 4
|
||||||
#define N2_PWM_1_DS_EN ( 3 )
|
#define N2_PWM_1_DS_EN ( 3 )
|
||||||
#define N2_PWM_0_DS_EN ( 2 )
|
#define N2_PWM_0_DS_EN ( 2 )
|
||||||
#define N2_PWM_1_EN ( 1 )
|
#define N2_PWM_1_EN ( 1 )
|
||||||
#define N2_PWM_0_EN ( 0 )
|
#define N2_PWM_0_EN ( 0 )
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|||||||
@@ -138,10 +138,9 @@ struct libodroid
|
|||||||
int (*analogRead) (int pin);
|
int (*analogRead) (int pin);
|
||||||
int (*digitalWriteByte) (const unsigned int value);
|
int (*digitalWriteByte) (const unsigned int value);
|
||||||
unsigned int (*digitalReadByte) (void);
|
unsigned int (*digitalReadByte) (void);
|
||||||
|
void (*pwmSetMode) (int mode);
|
||||||
void (*pwmSetMode) (int mode);
|
void (*pwmSetRange) (unsigned int range);
|
||||||
void (*pwmSetRange) (unsigned int range);
|
void (*pwmSetClock) (int divisor);
|
||||||
void (*pwmSetClock) (int divisor);
|
|
||||||
|
|
||||||
/* ISR Function pointer */
|
/* ISR Function pointer */
|
||||||
void (*isrFunctions[256])(void);
|
void (*isrFunctions[256])(void);
|
||||||
@@ -269,6 +268,9 @@ extern unsigned int digitalReadByte (void);
|
|||||||
extern void digitalWriteByte (const int value);
|
extern void digitalWriteByte (const int value);
|
||||||
extern void pwmWrite (int pin, int value);
|
extern void pwmWrite (int pin, int value);
|
||||||
extern int analogRead (int pin);
|
extern int analogRead (int pin);
|
||||||
|
extern void pwmSetMode (int mode);
|
||||||
|
extern void pwmSetRange (unsigned int range);
|
||||||
|
extern void pwmSetClock (int divisor);
|
||||||
|
|
||||||
// Hardware specific stuffs
|
// Hardware specific stuffs
|
||||||
extern int piGpioLayout (void);
|
extern int piGpioLayout (void);
|
||||||
@@ -281,9 +283,6 @@ extern int physPinToGpio (int physPin);
|
|||||||
extern void pinModeAlt (int pin, int mode) UNU;
|
extern void pinModeAlt (int pin, int mode) UNU;
|
||||||
extern void analogWrite (int pin, int value) UNU;
|
extern void analogWrite (int pin, int value) UNU;
|
||||||
extern void pwmToneWrite (int pin, int freq) 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 void gpioClockSet (int pin, int freq) UNU;
|
||||||
extern unsigned int digitalReadByte (void) UNU;
|
extern unsigned int digitalReadByte (void) UNU;
|
||||||
extern unsigned int digitalReadByte2 (void) UNU;
|
extern unsigned int digitalReadByte2 (void) UNU;
|
||||||
|
|||||||
Reference in New Issue
Block a user