[Blackfin] arch: add support for BF523/BF524/BF526

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
Mike Frysinger 2007-12-24 16:54:48 +08:00 committed by Bryan Wu
parent 54a1668ce5
commit 1545a1111a
3 changed files with 63 additions and 3 deletions

View File

@ -85,11 +85,26 @@ config BF522
help help
BF522 Processor Support. BF522 Processor Support.
config BF523
bool "BF523"
help
BF523 Processor Support.
config BF524
bool "BF524"
help
BF524 Processor Support.
config BF525 config BF525
bool "BF525" bool "BF525"
help help
BF525 Processor Support. BF525 Processor Support.
config BF526
bool "BF526"
help
BF526 Processor Support.
config BF527 config BF527
bool "BF527" bool "BF527"
help help
@ -198,7 +213,7 @@ endchoice
config BF52x config BF52x
bool bool
depends on (BF522 || BF525 || BF527) depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
default y default y
config BF53x config BF53x
@ -371,7 +386,10 @@ config SCLK_DIV
config MAX_VCO_HZ config MAX_VCO_HZ
int int
default 600000000 if BF522 default 600000000 if BF522
default 400000000 if BF523
default 400000000 if BF524
default 600000000 if BF525 default 600000000 if BF525
default 400000000 if BF526
default 600000000 if BF527 default 600000000 if BF527
default 400000000 if BF531 default 400000000 if BF531
default 400000000 if BF532 default 400000000 if BF532
@ -383,6 +401,8 @@ config MAX_VCO_HZ
default 533333333 if BF539 default 533333333 if BF539
default 600000000 if BF542 default 600000000 if BF542
default 533333333 if BF544 default 533333333 if BF544
default 600000000 if BF547
default 600000000 if BF548
default 533333333 if BF549 default 533333333 if BF549
default 600000000 if BF561 default 600000000 if BF561
@ -897,8 +917,8 @@ config PM_WAKEUP_SIC_IWR
depends on PM_WAKEUP_GPIO_BY_SIC_IWR depends on PM_WAKEUP_GPIO_BY_SIC_IWR
default 0x80000000 if (BF537 || BF536 || BF534) default 0x80000000 if (BF537 || BF536 || BF534)
default 0x100000 if (BF533 || BF532 || BF531) default 0x100000 if (BF533 || BF532 || BF531)
default 0x800000 if (BF549 || BF548 || BF547 || BF542) default 0x800000 if (BF54x)
default 0x800000 if (BF527 || BF524 || BF522) default 0x800000 if (BF52x)
config PM_WAKEUP_GPIO_NUMBER config PM_WAKEUP_GPIO_NUMBER
int "Wakeup GPIO number" int "Wakeup GPIO number"

View File

@ -21,7 +21,10 @@ KBUILD_DEFCONFIG := BF537-STAMP_defconfig
# setup the machine name and the machine dependent settings # setup the machine name and the machine dependent settings
machine-$(CONFIG_BF522) := bf527 machine-$(CONFIG_BF522) := bf527
machine-$(CONFIG_BF523) := bf527
machine-$(CONFIG_BF524) := bf527
machine-$(CONFIG_BF525) := bf527 machine-$(CONFIG_BF525) := bf527
machine-$(CONFIG_BF526) := bf527
machine-$(CONFIG_BF527) := bf527 machine-$(CONFIG_BF527) := bf527
machine-$(CONFIG_BF531) := bf533 machine-$(CONFIG_BF531) := bf533
machine-$(CONFIG_BF532) := bf533 machine-$(CONFIG_BF532) := bf533
@ -39,7 +42,10 @@ MACHINE := $(machine-y)
export MACHINE export MACHINE
cpu-$(CONFIG_BF522) := bf522 cpu-$(CONFIG_BF522) := bf522
cpu-$(CONFIG_BF523) := bf523
cpu-$(CONFIG_BF524) := bf524
cpu-$(CONFIG_BF525) := bf525 cpu-$(CONFIG_BF525) := bf525
cpu-$(CONFIG_BF526) := bf526
cpu-$(CONFIG_BF527) := bf527 cpu-$(CONFIG_BF527) := bf527
cpu-$(CONFIG_BF531) := bf531 cpu-$(CONFIG_BF531) := bf531
cpu-$(CONFIG_BF532) := bf532 cpu-$(CONFIG_BF532) := bf532

View File

@ -83,6 +83,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/proc_fs.h>
#include <asm/blackfin.h> #include <asm/blackfin.h>
#include <asm/gpio.h> #include <asm/gpio.h>
#include <asm/portmux.h> #include <asm/portmux.h>
@ -1194,3 +1195,36 @@ void bfin_gpio_reset_spi0_ssel1(void)
} }
#endif /*BF548_FAMILY */ #endif /*BF548_FAMILY */
#if defined(CONFIG_PROC_FS)
static int gpio_proc_read(char *buf, char **start, off_t offset,
int len, int *unused_i, void *unused_v)
{
int c, outlen = 0;
for (c = 0; c < MAX_RESOURCES; c++) {
if (!check_gpio(c) && (reserved_gpio_map[gpio_bank(c)] & gpio_bit(c)))
len = sprintf(buf, "GPIO_%d: %s \tGPIO %s\n", c,
get_label(c), get_gpio_dir(c) ? "OUTPUT" : "INPUT");
else if (reserved_peri_map[gpio_bank(c)] & gpio_bit(c))
len = sprintf(buf, "GPIO_%d: %s \tPeripheral\n", c, get_label(c));
else
continue;
buf += len;
outlen += len;
}
return outlen;
}
static __init int gpio_register_proc(void)
{
struct proc_dir_entry *proc_gpio;
proc_gpio = create_proc_entry("gpio", S_IRUGO, NULL);
if (proc_gpio)
proc_gpio->read_proc = gpio_proc_read;
return proc_gpio != NULL;
}
__initcall(gpio_register_proc);
#endif