-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 123866 b: refs/heads/master c: b09bcdd h: refs/heads/master v: v3
- Loading branch information
Ben Dooks
committed
Dec 16, 2008
1 parent
6c50714
commit 85b17a8
Showing
5 changed files
with
130 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 44539a711217898358ae456fc0f81f5f4652abd5 | ||
refs/heads/master: b09bcdd4c2f52b54115895c4d62ad82918f71431 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* linux/arch/arm/mach-s3c6400/include/mach/pwm-clock.h | ||
* | ||
* Copyright 2008 Openmoko, Inc. | ||
* Copyright 2008 Simtec Electronics | ||
* Ben Dooks <ben@simtec.co.uk> | ||
* http://armlinux.simtec.co.uk/ | ||
* | ||
* S3C64xx - pwm clock and timer support | ||
*/ | ||
|
||
/** | ||
* pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk | ||
* @tcfg: The timer TCFG1 register bits shifted down to 0. | ||
* | ||
* Return true if the given configuration from TCFG1 is a TCLK instead | ||
* any of the TDIV clocks. | ||
*/ | ||
static inline int pwm_cfg_src_is_tclk(unsigned long tcfg) | ||
{ | ||
return tcfg >= S3C64XX_TCFG1_MUX_TCLK; | ||
} | ||
|
||
/** | ||
* tcfg_to_divisor() - convert tcfg1 setting to a divisor | ||
* @tcfg1: The tcfg1 setting, shifted down. | ||
* | ||
* Get the divisor value for the given tcfg1 setting. We assume the | ||
* caller has already checked to see if this is not a TCLK source. | ||
*/ | ||
static inline unsigned long tcfg_to_divisor(unsigned long tcfg1) | ||
{ | ||
return 1 << tcfg1; | ||
} | ||
|
||
/** | ||
* pwm_tdiv_has_div1() - does the tdiv setting have a /1 | ||
* | ||
* Return true if we have a /1 in the tdiv setting. | ||
*/ | ||
static inline unsigned int pwm_tdiv_has_div1(void) | ||
{ | ||
return 1; | ||
} | ||
|
||
/** | ||
* pwm_tdiv_div_bits() - calculate TCFG1 divisor value. | ||
* @div: The divisor to calculate the bit information for. | ||
* | ||
* Turn a divisor into the necessary bit field for TCFG1. | ||
*/ | ||
static inline unsigned long pwm_tdiv_div_bits(unsigned int div) | ||
{ | ||
return ilog2(div); | ||
} | ||
|
||
#define S3C_TCFG1_MUX_TCLK S3C64XX_TCFG1_MUX_TCLK |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* linux/arch/arm/plat-s3c24xx/include/mach/pwm-clock.h | ||
* | ||
* Copyright 2008 Simtec Electronics | ||
* Ben Dooks <ben@simtec.co.uk> | ||
* http://armlinux.simtec.co.uk/ | ||
* | ||
* S3C24xx - pwm clock and timer support | ||
*/ | ||
|
||
/** | ||
* pwm_cfg_src_is_tclk() - return whether the given mux config is a tclk | ||
* @cfg: The timer TCFG1 register bits shifted down to 0. | ||
* | ||
* Return true if the given configuration from TCFG1 is a TCLK instead | ||
* any of the TDIV clocks. | ||
*/ | ||
static inline int pwm_cfg_src_is_tclk(unsigned long tcfg) | ||
{ | ||
return tcfg == S3C2410_TCFG1_MUX_TCLK; | ||
} | ||
|
||
/** | ||
* tcfg_to_divisor() - convert tcfg1 setting to a divisor | ||
* @tcfg1: The tcfg1 setting, shifted down. | ||
* | ||
* Get the divisor value for the given tcfg1 setting. We assume the | ||
* caller has already checked to see if this is not a TCLK source. | ||
*/ | ||
static inline unsigned long tcfg_to_divisor(unsigned long tcfg1) | ||
{ | ||
return 1 << (1 + tcfg1); | ||
} | ||
|
||
/** | ||
* pwm_tdiv_has_div1() - does the tdiv setting have a /1 | ||
* | ||
* Return true if we have a /1 in the tdiv setting. | ||
*/ | ||
static inline unsigned int pwm_tdiv_has_div1(void) | ||
{ | ||
return 0; | ||
} | ||
|
||
/** | ||
* pwm_tdiv_div_bits() - calculate TCFG1 divisor value. | ||
* @div: The divisor to calculate the bit information for. | ||
* | ||
* Turn a divisor into the necessary bit field for TCFG1. | ||
*/ | ||
static inline unsigned long pwm_tdiv_div_bits(unsigned int div) | ||
{ | ||
return ilog2(div) - 1; | ||
} | ||
|
||
#define S3C_TCFG1_MUX_TCLK S3C2410_TCFG1_MUX_TCLK |