diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
commit | e635a01ea0a16cf7cd31ecd2305870385dca9be6 (patch) | |
tree | c7153e7dee5caf6ac90d85694ff27e4d0b606290 /arch/mips/pmc-sierra | |
parent | 143070e74630b9557e1bb64d899ff2cc5a1dcb48 (diff) | |
parent | 947391cfbaa3b08558844c0b187bcd0223c3f660 (diff) |
Merge branch 'next-mtd' of git://aeryn.fluff.org.uk/bjdooks/linux
Diffstat (limited to 'arch/mips/pmc-sierra')
-rw-r--r-- | arch/mips/pmc-sierra/Kconfig | 12 | ||||
-rw-r--r-- | arch/mips/pmc-sierra/msp71xx/msp_prom.c | 60 | ||||
-rw-r--r-- | arch/mips/pmc-sierra/msp71xx/msp_setup.c | 8 | ||||
-rw-r--r-- | arch/mips/pmc-sierra/msp71xx/msp_time.c | 7 |
4 files changed, 5 insertions, 82 deletions
diff --git a/arch/mips/pmc-sierra/Kconfig b/arch/mips/pmc-sierra/Kconfig index 90261b83db04..c139988bb85d 100644 --- a/arch/mips/pmc-sierra/Kconfig +++ b/arch/mips/pmc-sierra/Kconfig | |||
@@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA | |||
36 | 36 | ||
37 | endchoice | 37 | endchoice |
38 | 38 | ||
39 | menu "Options for PMC-Sierra MSP chipsets" | ||
40 | depends on PMC_MSP | ||
41 | |||
42 | config PMC_MSP_EMBEDDED_ROOTFS | ||
43 | bool "Root filesystem embedded in kernel image" | ||
44 | select MTD | ||
45 | select MTD_BLOCK | ||
46 | select MTD_PMC_MSP_RAMROOT | ||
47 | select MTD_RAM | ||
48 | |||
49 | endmenu | ||
50 | |||
51 | config HYPERTRANSPORT | 39 | config HYPERTRANSPORT |
52 | bool "Hypertransport Support for PMC-Sierra Yosemite" | 40 | bool "Hypertransport Support for PMC-Sierra Yosemite" |
53 | depends on PMC_YOSEMITE | 41 | depends on PMC_YOSEMITE |
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_prom.c b/arch/mips/pmc-sierra/msp71xx/msp_prom.c index e5bd5481d8db..c317a3623ce9 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_prom.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_prom.c | |||
@@ -40,12 +40,6 @@ | |||
40 | #include <linux/string.h> | 40 | #include <linux/string.h> |
41 | #include <linux/interrupt.h> | 41 | #include <linux/interrupt.h> |
42 | #include <linux/mm.h> | 42 | #include <linux/mm.h> |
43 | #ifdef CONFIG_CRAMFS | ||
44 | #include <linux/cramfs_fs.h> | ||
45 | #endif | ||
46 | #ifdef CONFIG_SQUASHFS | ||
47 | #include <linux/squashfs_fs.h> | ||
48 | #endif | ||
49 | 43 | ||
50 | #include <asm/addrspace.h> | 44 | #include <asm/addrspace.h> |
51 | #include <asm/bootinfo.h> | 45 | #include <asm/bootinfo.h> |
@@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
435 | char *str; | 429 | char *str; |
436 | unsigned int memsize; | 430 | unsigned int memsize; |
437 | unsigned int heaptop; | 431 | unsigned int heaptop; |
438 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | ||
439 | void *ramroot_start; | ||
440 | unsigned long ramroot_size; | ||
441 | #endif | ||
442 | int i; | 432 | int i; |
443 | 433 | ||
444 | str = prom_getenv(memsz_env); | 434 | str = prom_getenv(memsz_env); |
@@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
506 | i++; /* 3 */ | 496 | i++; /* 3 */ |
507 | mdesc[i].type = BOOT_MEM_RESERVED; | 497 | mdesc[i].type = BOOT_MEM_RESERVED; |
508 | mdesc[i].base = CPHYSADDR((u32)_text); | 498 | mdesc[i].base = CPHYSADDR((u32)_text); |
509 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | 499 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base; |
510 | if (get_ramroot(&ramroot_start, &ramroot_size)) { | ||
511 | /* | ||
512 | * Rootfs in RAM -- follows kernel | ||
513 | * Combine rootfs image with kernel block so a | ||
514 | * page (4k) isn't wasted between memory blocks | ||
515 | */ | ||
516 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN( | ||
517 | (u32)ramroot_start + ramroot_size)) - mdesc[i].base; | ||
518 | } else | ||
519 | #endif | ||
520 | mdesc[i].size = CPHYSADDR(PAGE_ALIGN( | ||
521 | (u32)_end)) - mdesc[i].base; | ||
522 | 500 | ||
523 | /* Remainder of RAM -- under memsize */ | 501 | /* Remainder of RAM -- under memsize */ |
524 | i++; /* 5 */ | 502 | i++; /* 5 */ |
@@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void) | |||
528 | 506 | ||
529 | return &mdesc[0]; | 507 | return &mdesc[0]; |
530 | } | 508 | } |
531 | |||
532 | /* rootfs functions */ | ||
533 | #ifdef CONFIG_MTD_PMC_MSP_RAMROOT | ||
534 | bool get_ramroot(void **start, unsigned long *size) | ||
535 | { | ||
536 | extern char _end[]; | ||
537 | |||
538 | /* Check for start following the end of the kernel */ | ||
539 | void *check_start = (void *)_end; | ||
540 | |||
541 | /* Check for supported rootfs types */ | ||
542 | #ifdef CONFIG_CRAMFS | ||
543 | if (*(__u32 *)check_start == CRAMFS_MAGIC) { | ||
544 | /* Get CRAMFS size */ | ||
545 | *start = check_start; | ||
546 | *size = PAGE_ALIGN(((struct cramfs_super *) | ||
547 | check_start)->size); | ||
548 | |||
549 | return true; | ||
550 | } | ||
551 | #endif | ||
552 | #ifdef CONFIG_SQUASHFS | ||
553 | if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) { | ||
554 | /* Get SQUASHFS size */ | ||
555 | *start = check_start; | ||
556 | *size = PAGE_ALIGN(((struct squashfs_super_block *) | ||
557 | check_start)->bytes_used); | ||
558 | |||
559 | return true; | ||
560 | } | ||
561 | #endif | ||
562 | |||
563 | return false; | ||
564 | } | ||
565 | EXPORT_SYMBOL(get_ramroot); | ||
566 | #endif | ||
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_setup.c b/arch/mips/pmc-sierra/msp71xx/msp_setup.c index c93675615f5d..a54e85b3cf29 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_setup.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_setup.c | |||
@@ -21,7 +21,6 @@ | |||
21 | 21 | ||
22 | #if defined(CONFIG_PMC_MSP7120_GW) | 22 | #if defined(CONFIG_PMC_MSP7120_GW) |
23 | #include <msp_regops.h> | 23 | #include <msp_regops.h> |
24 | #include <msp_gpio.h> | ||
25 | #define MSP_BOARD_RESET_GPIO 9 | 24 | #define MSP_BOARD_RESET_GPIO 9 |
26 | #endif | 25 | #endif |
27 | 26 | ||
@@ -88,11 +87,8 @@ void msp7120_reset(void) | |||
88 | * as GPIO char driver may not be enabled and it would look up | 87 | * as GPIO char driver may not be enabled and it would look up |
89 | * data inRAM! | 88 | * data inRAM! |
90 | */ | 89 | */ |
91 | set_value_reg32(GPIO_CFG3_REG, | 90 | set_value_reg32(GPIO_CFG3_REG, 0xf000, 0x8000); |
92 | basic_mode_mask(MSP_BOARD_RESET_GPIO), | 91 | set_reg32(GPIO_DATA3_REG, 8); |
93 | basic_mode(MSP_GPIO_OUTPUT, MSP_BOARD_RESET_GPIO)); | ||
94 | set_reg32(GPIO_DATA3_REG, | ||
95 | basic_data_mask(MSP_BOARD_RESET_GPIO)); | ||
96 | 92 | ||
97 | /* | 93 | /* |
98 | * In case GPIO9 doesn't reset the board (jumper configurable!) | 94 | * In case GPIO9 doesn't reset the board (jumper configurable!) |
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_time.c b/arch/mips/pmc-sierra/msp71xx/msp_time.c index 7cfeda5a651b..cca64e15f57f 100644 --- a/arch/mips/pmc-sierra/msp71xx/msp_time.c +++ b/arch/mips/pmc-sierra/msp71xx/msp_time.c | |||
@@ -81,10 +81,7 @@ void __init plat_time_init(void) | |||
81 | mips_hpt_frequency = cpu_rate/2; | 81 | mips_hpt_frequency = cpu_rate/2; |
82 | } | 82 | } |
83 | 83 | ||
84 | void __init plat_timer_setup(struct irqaction *irq) | 84 | unsigned int __init get_c0_compare_int(void) |
85 | { | 85 | { |
86 | #ifdef CONFIG_IRQ_MSP_CIC | 86 | return MSP_INT_VPE0_TIMER; |
87 | /* we are using the vpe0 counter for timer interrupts */ | ||
88 | setup_irq(MSP_INT_VPE0_TIMER, irq); | ||
89 | #endif | ||
90 | } | 87 | } |