Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
s3c2410-iotiming.c File Reference
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/cpufreq.h>
#include <linux/seq_file.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <mach/map.h>
#include <mach/regs-mem.h>
#include <mach/regs-clock.h>
#include <plat/cpu-freq-core.h>

Go to the source code of this file.

Macros

#define print_ns(x)   ((x) / 10), ((x) % 10)
 

Functions

int calc_tacp (unsigned int cyc, unsigned long hclk, unsigned long *v)
 
void s3c2410_iotiming_getbank (struct s3c_cpufreq_config *cfg, struct s3c2410_iobank_timing *bt)
 
void s3c2410_iotiming_debugfs (struct seq_file *seq, struct s3c_cpufreq_config *cfg, union s3c_iobank *iob)
 
int s3c2410_iotiming_calc (struct s3c_cpufreq_config *cfg, struct s3c_iotimings *iot)
 
void s3c2410_iotiming_set (struct s3c_cpufreq_config *cfg, struct s3c_iotimings *iot)
 
int s3c2410_iotiming_get (struct s3c_cpufreq_config *cfg, struct s3c_iotimings *timings)
 

Macro Definition Documentation

#define print_ns (   x)    ((x) / 10), ((x) % 10)

Definition at line 28 of file s3c2410-iotiming.c.

Function Documentation

int calc_tacp ( unsigned int  cyc,
unsigned long  hclk,
unsigned long v 
)

Definition at line 136 of file s3c2410-iotiming.c.

int s3c2410_iotiming_calc ( struct s3c_cpufreq_config cfg,
struct s3c_iotimings iot 
)

s3c2410_iotiming_calc - Calculate bank timing for frequency change. : The frequency configuration : The IO timing information to fill out.

Calculate the new values for the banks in based on the new frequency information in . This is then used by s3c2410_iotiming_set() to update the timing when necessary.

Definition at line 361 of file s3c2410-iotiming.c.

void s3c2410_iotiming_debugfs ( struct seq_file seq,
struct s3c_cpufreq_config cfg,
union s3c_iobank iob 
)

s3c2410_iotiming_debugfs - debugfs show io bank timing information : The seq_file to write output to using seq_printf(). : The current configuration. : The IO bank information to decode.

Definition at line 314 of file s3c2410-iotiming.c.

int s3c2410_iotiming_get ( struct s3c_cpufreq_config cfg,
struct s3c_iotimings timings 
)

s3c2410_iotiming_get - Get the timing information from current registers. : The frequency configuration : The IO timing information to fill out.

Calculate the timing information from the current frequency information in , and the new frequency configur through all the IO banks, reading the state and then updating as necessary.

This is used at the moment on initialisation to get the current configuration so that boards do not have to carry their own setup if the timings are correct on initialisation.

Definition at line 435 of file s3c2410-iotiming.c.

void s3c2410_iotiming_getbank ( struct s3c_cpufreq_config cfg,
struct s3c2410_iobank_timing bt 
)

s3c2410_iotiming_getbank - turn BANKCON into cycle time information : The frequency configuration : The bank timing to fill in (uses cached BANKCON)

Given the BANKCON setting in and the current frequency settings in , update the cycle timing information.

Definition at line 295 of file s3c2410-iotiming.c.

void s3c2410_iotiming_set ( struct s3c_cpufreq_config cfg,
struct s3c_iotimings iot 
)

s3c2410_iotiming_set - set the IO timings from the given setup. : The frequency configuration : The IO timing information to use.

Set all the currently used IO bank timing information generated by s3c2410_iotiming_calc() once the core has validated that all the new values are within permitted bounds.

Definition at line 403 of file s3c2410-iotiming.c.