- Feb 27, 2010
-
-
Manuel Lauss authored
This patch replaces the general alchemy prom_putchar() implementation in favor of board-specific versions: The UART where the output of prom_putchar is directed to really depends on the board, the current implementation hardcodes this on a per-SoC basis which is just wrong. So a generic uart tx function is provided in the alchemy headers, and the boards can provide their own prom_putchar with custom destination uart, and all in-kernel alchemy boards support early printk. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Eliminate the sharing of IRQ names among the differenct Alchemy variants. IRQ numbers need no longer be hidden behind a CONFIG_SOC_AU1XXX symbol: step 1 in my quest to make the Alchemy code less reliant on a hardcoded subtype. This patch also renames the GPIO irq number constants. It's really an interrupt line, NOT a GPIO number! Code which relied on certain irq numbers to have the same name across all supported cpu subtypes is changed to determine current cpu subtype at runtime; in some places this isn't possible so a "compat" symbol is used. Run-tested on DB1200. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Extract the alchemy chip variant from c0_prid register. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/14/ Patchwork: http://patchwork.linux-mips.org/patch/707/ Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
New PCMCIA socket driver for all Db/Pb1xxx boards (except Pb1000), which replaces au1000_db1x00.c and (most of) au1000_pb1x00.c. Notable improvements: - supports Db1000, DB/PB1100/1500/1550/1200. - support for carddetect and statuschange IRQs. - pcmcia socket mem/io/attr areas and irqs passed through platform resource information. - doesn't freeze system during card insertion/ejection like the one it replaces. - boardtype is automatically detected using BCSR ID register. Run-tested on the DB1200. Cc: Linux-PCMCIA <linux-pcmcia@lists.infradead.org> Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
remove board_init_irq(): On all in-kernel boards it is sufficient to initialize board interrupts in an arch_initcall by using the default linux irq functions. Some small irqmap.c files have been folded into board_setup files. Run-tested on DB1200; compile-tested on all other affected boards. Signed-off-by:
Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- May 14, 2009
-
-
Manuel Lauss authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Jan 11, 2009
-
-
Manuel Lauss authored
Replace the current sysctl-based suspend interface with a new sysfs- based one which also uses the Linux-2.6 suspend model. To configure wakeup sources, a subtree for the demoboards is created under /sys/power/db1x: sys/ `-- power `-- db1x |-- gpio0 |-- gpio1 |-- gpio2 |-- gpio3 |-- gpio4 |-- gpio5 |-- gpio6 |-- gpio7 |-- timer |-- timer_timeout |-- wakemsk `-- wakesrc The nodes 'gpio[0-7]' and 'timer' configure the GPIO0..7 and M2 bits of the SYS_WAKEMSK (wakeup source enable) register. Writing '1' enables a wakesource, 0 disables it. The 'timer_timeout' node holds the timeout in seconds after which the TOYMATCH2 event should wake the system. The 'wakesrc' node holds the SYS_WAKESRC register after wakeup (in hex), the 'wakemsk' node can be used to get/set the wakeup mask directly. For example, to have the timer wake the system after 10 seconds of sleep, the following must be done in userspace: echo 10 > /sys/power/db1x/timer_timeout echo 1 > /sys/power/db1x/timer echo mem > /sys/power/sleep This patch also removes the homebrew CPU frequency switching code. I don't understand how it could have ever worked reliably; it does not communicate the clock changes to peripheral devices other than uarts. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> create mode 100644 arch/mips/alchemy/devboards/pm.c
-
Manuel Lauss authored
Au1550/Au1200 have a different memory controller which requires additi- onal code to properly put memory to sleep (code taken from AMD/RMI's Linux-2.6.11 source package). Also fix up the remaining pm-related paths to compile on Au1200/Au1550 platforms. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Now that nothing in time.c depends on calc_clock, it can be moved to clocks.c where it belongs. While at it, give it a better non-generic name and call it as soon as possible in plat_mem_init. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
Remove the cpu_table: - move detection of whether c0_config[OD] is read-only and should be set to fix various chip errata to au1000 headers. - move detection of write-only sys_cpupll to au1000 headers. - remove the BCLK switching code: Activation of this features should be left to the boards using the chips since it also affects external devices tied to BCLK, and only the board designers know whether it is safe to enable. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> delete mode 100644 arch/mips/alchemy/common/cputable.c
-
Manuel Lauss authored
There are no in-tree users, so remove them. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Manuel Lauss authored
This patch attempts to modernize core Alchemy interrupt handling code. - add irq_chips for irq controllers instead of irq type, - add a set_type() hook to change irq trigger type during runtime, - add a set_wake() hook to control GPIO0..7 based wakeup, - use linux' IRQF_TRIGGER_ constants instead of homebrew ones, - enable GENERIC_HARDIRQS_NO__DO_IRQ. - simplify plat_irq_dispatch - merge au1xxx_irqmap into irq.c file, the only place where its contents are referenced. - board_init_irq() is now mandatory for every board; use it to register the remaining (gpio-based) interrupt sources; update all boards accordingly. Run-tested on Db1200 and other Au1200 based platforms. Signed-off-by:
Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> delete mode 100644 arch/mips/alchemy/common/au1xxx_irqmap.c
-
- Oct 11, 2008
-
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Jun 16, 2008
-
-
bruno randolf authored
In the conversion done in the commits 95c4eb3ef4484ca85da5c98780d358cffd546b90 9d360ab4 [MIPS] Alchemy: Renumber interrupts so irq_cpu can work. one reserved interrupt on au1500 was missed. this broke the au1000 ethernet driver. Signed-off-by:
Bruno Randolf <br1@einfach.org> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- May 24, 2008
-
-
Mariusz Kozlowski authored
Parenthesis fix in include/asm-mips/mach-au1x00/au1000.h Signed-off-by:
Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- May 12, 2008
-
-
Sergei Shtylyov authored
Fix several errors and warnings given by checkpatch.pl: - space after opening and before closing parentheses; - opening brace following 'struct' not on the same line; - leading spaces instead of tabs; - use of C99 // comments; - macros with complex values not enclosed in parentheses; - missing space between the type and asterisk in a variable declaration; - space between asterisk and function name; - including <asm/io.h> instead of <linux/io.h> and <asm/irq.h> instead of <linux/irq.h>; - use of '__inline__' instead of 'inline'; - space between function name and opening parenthesis; - line over 80 characters. In addition to these changes, also do the following: - remove needless parentheses; - insert spaces between operator and its operands; - replace spaces after the macro name with tabs in the #define directives and after the type in the structure field declarations; - remove excess tabs after the macro name in the #define directives and in the 'extern' variable declarations; - remove excess spaces between # and define for the SSI_*_MASK macros to align with other such macros; - put '||' operator on the same line with its first operand; - properly indent multi-line function prototypes; - make the multi-line comment style consistent with the kernel style elsewhere by adding empty first line and/or adding space/asterisk on their left side; - make two-line comments that only have one line of text one-line; - convert the large multi-line comment in au1xxx_ide.h into several one-liners, replace spaces with tabs there; - fix typos/errors, capitalize acronyms, etc. in the comments; - insert missing and remove excess new lines; - update MontaVista copyright; - remove Pete Popov's and Steve Longerbeam's old email addresses... Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Apr 28, 2008
-
-
Sergei Shtylyov authored
Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Sergei Shtylyov authored
Defer the unmasking of the count/compare interrupt (IRQ5) till the clockevent driver initialization: - only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the ALLINTS macro -- this change is blessed by AMD as I saw it in their own patch; :-) - do not force IRQ5 enabled in plat_time_init() if PM is enabled and there's no 32 KHz crystal. Update the copyrights (taking into account my prior changes), also removing Pete Popov's old email... Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Apr 01, 2008
-
-
Sergei Shtylyov authored
Work around the CPU clock miscalculation on Au1000DA/HA/HB due the sys_cpupll register being write-only, i.e. actually do what the comment before cal_r4off() function advertised for years but the code failed at. This is achieved by just giving user a chance to define the clock explicitly in the board config. via CONFIG_SOC_AU1000_FREQUENCY option, defaulting to 396 MHz if the option is not given... The patch is based on the AMD's big unpublished patch, the issue seems to be an undocumented errata (or feature :-)... Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Dec 14, 2007
-
-
Sergei Shtylyov authored
... by getting the PCI resources back into the 32-bit range -- there's no need therefore for CONFIG_RESOURCES_64BIT either. This makes Alchemy PCI work again while currently the kernel skips the bus scan. Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Dec 06, 2007
-
-
Sergei Shtylyov authored
Do what the commits commits f3e8d1da and 9d360ab4 failed to achieve -- actually convert the Alchemy code to irq_cpu. Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Oct 17, 2007
-
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Oct 16, 2007
-
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
There were no users - and why have a private version anyway. Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
It was plain a bad idea ... Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Oct 11, 2007
-
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Feb 06, 2007
-
-
Alexander Bigga authored
The problem was introduced in 2.6.18.3 with the casting of some 36bit-defines (PCI memory) in au1000.h to resource_size_t which may be u32 or u64 depending on the experimental CONFIG_RESOURCES_64BIT. With unset CONFIG_RESOURCES_64BIT, the pci-memory cannot be accessed because the ioremap in arch/mips/au1000/common/pci.c already used the truncated addresses. With set CONFIG_RESOURCES_64BIT, things get even worse, because PCI-scan aborts, due to resource conflict: request_resource() in arch/mips/pci/pci.c fails because the maximum iomem-address is 0xffffffff (32bit) but the pci-memory-start-address is 0x440000000 (36bit). To get pci working again, I propose the following patch: 1. remove the resource_size_t-casting from au1000.h again 2. make the casting in arch/mips/au1000/common/pci.c (it's allowed and necessary here. The 36bit-handling will be done in __fixup_bigphys_addr). With this patch pci works again like in 2.6.18.2, the gcc-compile warnings in pci.c are gone and it doesn't depend on CONFIG_EXPERIMENTAL. Signed-off-by:
Alexander Bigga <ab@mycable.de> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Ralf Baechle authored
CC arch/mips/au1000/common/pci.o arch/mips/au1000/common/pci.c:42: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:43: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:49: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c:50: warning: large integer implicitly truncated to unsigned type arch/mips/au1000/common/pci.c: In function ‘au1x_pci_setup’: arch/mips/au1000/common/pci.c:82: warning: ISO C90 forbids mixed declarations and code Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Apr 26, 2006
-
-
David Woodhouse authored
Signed-off-by:
David Woodhouse <dwmw2@infradead.org>
-
- Feb 07, 2006
-
-
Sergei Shtylylov authored
AMD Au1200 SOC just doesn't have UART3, so KGDB won't even compile for it as is, here's the fix to make KGDB use UART1. Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Jan 10, 2006
-
-
Sergei Shtylyov authored
USB OpenHCI host controller on Au1550 only decodes memory addresses from 0x14020000 to 0x1407FFFF according to the databook, which gives 0x60000 (on the prior Au1x00 chips the map size was 1MB). Signed-off-by:
Sergei Shtylyov <sshtylyov@ru.mvista.com> Acked-by:
Jordan Crouse <jordan.crouse@amd.com> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Oct 29, 2005
-
-
Pete Popov authored
generic one. Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Pete Popov authored
* remove two already unused and commented structures * added an ULL suffix to several address constants that use bits 35-32 Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Pete Popov authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> Acked-by:
Antonino Daplas <adaplas@pol.net>
-
Pete Popov authored
Cleaned up a to of warnings in dbdma.c. Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
Pete Popov authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
-
- Sep 05, 2005
-
-
Ralf Baechle authored
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- Apr 16, 2005
-
-
Linus Torvalds authored
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
-