aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c/pwm-clock.c
Commit message (Collapse)AuthorAgeFilesLines
* ARM: SAMSUNG: Move pwm-clock code into plat-samsungBen Dooks2010-01-151-455/+0
| | | | | | | Move the code for the pwm-clock into plat-samsung, as it is common to all Samsung SoCs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: SAMSUNG: Add call to register array of clocksBen Dooks2010-01-151-14/+4
| | | | | | | | Add s3c_register_clocks() to register an array of clocks, printing an error message if there is a problem. Replace all points in the code where this could be used. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* ARM: SAMSUNG: Reduce size of struct clk.Ben Dooks2010-01-151-46/+48
| | | | | | | | | | | | | | | Reduce the size of struct clk by 12 bytes and make defining clocks with common implementation functions easier by moving the set_rate, get_rate, round_rate and set_parent calls into a new structure called 'struct clk_ops' and using that instead. This change does make a few clocks larger as they need their own clk_ops, but this is outweighed by the number of clocks with either no ops or having a common set of ops. Update all the users of this. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Update time initialisation to fix S3C64XX time problemsBen Dooks2008-12-161-13/+15
| | | | | | | | | | | | | The S3C64XX timer is running at the wrong rate due to the assumptions made in the timer initialisation about the way the pwm dividers work. This means that time on the S3C64XX runs twice as fast as it should. Fix the problem by moving to using the clk framework to setup the pwm timer clock muxes, as the pwm-clock code has all the necessary knowledge of how the timer clock inputs are routed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Update TCFG for new timer divider settings.Ben Dooks2008-12-161-29/+10
| | | | | | | | | | | | The S3C64XX series has a new TCFG divider setting to allow the clock directly through, which means that we need to update the pwm-clock code to cope with this. Add <mach/pwm-clock.h> containing the specific code to deal with the TCFG divider settings and provide any other per-arch data that the pwm-clock driver needs to function. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Fix PWM build on S3C6400Ben Dooks2008-12-151-3/+1
| | | | | | | | | | | The pwm-clock.c needs <mach/map.h> which is included via other means on S3C24XX systems, so ensure it is explicitly included. Remove the includes of regs-clock.h and regs-gpio.h as these are not needed by the build. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Fix scaler1 clock rate informationBen Dooks2008-12-151-2/+4
| | | | | | | | | | | | | The pwm-scaler0 and pwm-scaler1 clocks have their .id field set to -1 as they are not referenced to any specific device. However, parts of the pwm-clock code used the .id field to identify which scaler clock was being used. Fix the problem by comparing against the pointer to the clock to identify the scalers. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clockBen Dooks2008-12-151-4/+47
| | | | | | | Add the set_rate and round_rate methods for the pwm-scaler clock for use with the time code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3cBen Dooks2008-12-151-0/+437
Move pwm-clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>