diff options
author | Manuel Lauss | 2012-09-14 14:47:10 +0200 |
---|---|---|
committer | Ralf Baechle | 2012-10-11 11:11:20 +0200 |
commit | 24e8c1a611a706f51d4d9dc39b2c9977e25a54c4 (patch) | |
tree | 91696346623fb7693b290730d65d2208fa47b88a /arch/mips/alchemy/devboards/db1235.c | |
parent | MIPS: Alchemy: Single kernel for DB1200/1300/1550 (diff) | |
download | kernel-qcow2-linux-24e8c1a611a706f51d4d9dc39b2c9977e25a54c4.tar.gz kernel-qcow2-linux-24e8c1a611a706f51d4d9dc39b2c9977e25a54c4.tar.xz kernel-qcow2-linux-24e8c1a611a706f51d4d9dc39b2c9977e25a54c4.zip |
MIPS: Alchemy: merge PB1550 support into DB1550 code
The PB1550 is more or less a DB1550 without the PCI IDE controller,
a more complicated (read: configurable) Flash setup and some other
minor changes. Like the DB1550 it can be automatically detected by
reading the CPLD ID register bits.
This patch adds PB1550 detection and setup to the DB1550 code.
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4337/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards/db1235.c')
-rw-r--r-- | arch/mips/alchemy/devboards/db1235.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/mips/alchemy/devboards/db1235.c b/arch/mips/alchemy/devboards/db1235.c index 15003eb1f840..c76a90f78664 100644 --- a/arch/mips/alchemy/devboards/db1235.c +++ b/arch/mips/alchemy/devboards/db1235.c @@ -13,7 +13,7 @@ int __init db1300_board_setup(void); int __init db1300_dev_setup(void); int __init db1550_board_setup(void); int __init db1550_dev_setup(void); -int __init db1550_pci_setup(void); +int __init db1550_pci_setup(int); static const char *board_type_str(void) { @@ -27,6 +27,9 @@ static const char *board_type_str(void) return "DB1300"; case BCSR_WHOAMI_DB1550: return "DB1550"; + case BCSR_WHOAMI_PB1550_SDR: + case BCSR_WHOAMI_PB1550_DDR: + return "PB1550"; default: return "(unknown)"; } @@ -61,8 +64,13 @@ void __init board_setup(void) int __init db1235_arch_init(void) { - if (BCSR_WHOAMI_BOARD(bcsr_read(BCSR_WHOAMI)) == BCSR_WHOAMI_DB1550) - return db1550_pci_setup(); + int id = BCSR_WHOAMI_BOARD(bcsr_read(BCSR_WHOAMI)); + if (id == BCSR_WHOAMI_DB1550) + return db1550_pci_setup(0); + else if ((id == BCSR_WHOAMI_PB1550_SDR) || + (id == BCSR_WHOAMI_PB1550_DDR)) + return db1550_pci_setup(1); + return 0; } arch_initcall(db1235_arch_init); @@ -77,6 +85,8 @@ int __init db1235_dev_init(void) case BCSR_WHOAMI_DB1300: return db1300_dev_setup(); case BCSR_WHOAMI_DB1550: + case BCSR_WHOAMI_PB1550_SDR: + case BCSR_WHOAMI_PB1550_DDR: return db1550_dev_setup(); } return 0; |