mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
avr32: Allow board to define oscillator rates
On our custom board we have other oscillator rates than on atngw100 and atstk100x. Currently these rates are hardcoded in arch/avr32/mach-at32ap/at32ap700x.c. This patch moves them into board specific code. Signed-off-by: Alex Raimondi <[email protected]> Signed-off-by: Haavard Skinnemoen <[email protected]>
This commit is contained in:
parent
8bd8974fcd
commit
60ed7951d0
6 changed files with 34 additions and 8 deletions
|
|
@ -25,6 +25,13 @@
|
|||
#include <asm/arch/init.h>
|
||||
#include <asm/arch/portmux.h>
|
||||
|
||||
/* Oscillator frequencies. These are board-specific */
|
||||
unsigned long at32_board_osc_rates[3] = {
|
||||
[0] = 32768, /* 32.768 kHz on RTC osc */
|
||||
[1] = 20000000, /* 20 MHz on osc0 */
|
||||
[2] = 12000000, /* 12 MHz on osc1 */
|
||||
};
|
||||
|
||||
/* Initialized by bootloader-specific startup code. */
|
||||
struct tag *bootloader_tags __initdata;
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,12 @@
|
|||
|
||||
#include "atstk1000.h"
|
||||
|
||||
/* Oscillator frequencies. These are board specific */
|
||||
unsigned long at32_board_osc_rates[3] = {
|
||||
[0] = 32768, /* 32.768 kHz on RTC osc */
|
||||
[1] = 20000000, /* 20 MHz on osc0 */
|
||||
[2] = 12000000, /* 12 MHz on osc1 */
|
||||
};
|
||||
|
||||
struct eth_addr {
|
||||
u8 addr[6];
|
||||
|
|
|
|||
|
|
@ -27,6 +27,13 @@
|
|||
|
||||
#include "atstk1000.h"
|
||||
|
||||
/* Oscillator frequencies. These are board specific */
|
||||
unsigned long at32_board_osc_rates[3] = {
|
||||
[0] = 32768, /* 32.768 kHz on RTC osc */
|
||||
[1] = 20000000, /* 20 MHz on osc0 */
|
||||
[2] = 12000000, /* 12 MHz on osc1 */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
|
||||
static struct at73c213_board_info at73c213_data = {
|
||||
.ssc_id = 0,
|
||||
|
|
|
|||
|
|
@ -29,6 +29,13 @@
|
|||
|
||||
#include "atstk1000.h"
|
||||
|
||||
/* Oscillator frequencies. These are board specific */
|
||||
unsigned long at32_board_osc_rates[3] = {
|
||||
[0] = 32768, /* 32.768 kHz on RTC osc */
|
||||
[1] = 20000000, /* 20 MHz on osc0 */
|
||||
[2] = 12000000, /* 12 MHz on osc1 */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
|
||||
static struct at73c213_board_info at73c213_data = {
|
||||
.ssc_id = 0,
|
||||
|
|
|
|||
|
|
@ -93,19 +93,12 @@ static struct clk devname##_##_name = { \
|
|||
|
||||
static DEFINE_SPINLOCK(pm_lock);
|
||||
|
||||
unsigned long at32ap7000_osc_rates[3] = {
|
||||
[0] = 32768,
|
||||
/* FIXME: these are ATSTK1002-specific */
|
||||
[1] = 20000000,
|
||||
[2] = 12000000,
|
||||
};
|
||||
|
||||
static struct clk osc0;
|
||||
static struct clk osc1;
|
||||
|
||||
static unsigned long osc_get_rate(struct clk *clk)
|
||||
{
|
||||
return at32ap7000_osc_rates[clk->index];
|
||||
return at32_board_osc_rates[clk->index];
|
||||
}
|
||||
|
||||
static unsigned long pll_get_rate(struct clk *clk, unsigned long control)
|
||||
|
|
|
|||
Loading…
Reference in a new issue