Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/mips/alchemy/devboards/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  db1xxx.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0
/*
 * Alchemy DB/PB1xxx board support.
 */


#include <asm/prom.h>
#include <asm/mach-au1x00/au1000.h>
#include <asm/mach-db1x00/bcsr.h>

int __init db1000_board_setup(void);
int __init db1000_dev_setup(void);
int __init db1500_pci_setup(void);
int __init db1200_board_setup(void);
int __init db1200_dev_setup(void);
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(int);

static const char *board_type_str(void)
{
 switch (BCSR_WHOAMI_BOARD(bcsr_read(BCSR_WHOAMI))) {
 case BCSR_WHOAMI_DB1000:
  return "DB1000";
 case BCSR_WHOAMI_DB1500:
  return "DB1500";
 case BCSR_WHOAMI_DB1100:
  return "DB1100";
 case BCSR_WHOAMI_PB1500:
 case BCSR_WHOAMI_PB1500R2:
  return "PB1500";
 case BCSR_WHOAMI_PB1100:
  return "PB1100";
 case BCSR_WHOAMI_PB1200_DDR1:
 case BCSR_WHOAMI_PB1200_DDR2:
  return "PB1200";
 case BCSR_WHOAMI_DB1200:
  return "DB1200";
 case BCSR_WHOAMI_DB1300:
  return "DB1300";
 case BCSR_WHOAMI_DB1550:
  return "DB1550";
 case BCSR_WHOAMI_PB1550_SDR:
 case BCSR_WHOAMI_PB1550_DDR:
  return "PB1550";
 default:
  return "(unknown)";
 }
}

const char *get_system_type(void)
{
 return board_type_str();
}

void __init board_setup(void)
{
 int ret;

 switch (alchemy_get_cputype()) {
 case ALCHEMY_CPU_AU1000:
 case ALCHEMY_CPU_AU1500:
 case ALCHEMY_CPU_AU1100:
  ret = db1000_board_setup();
  break;
 case ALCHEMY_CPU_AU1550:
  ret = db1550_board_setup();
  break;
 case ALCHEMY_CPU_AU1200:
  ret = db1200_board_setup();
  break;
 case ALCHEMY_CPU_AU1300:
  ret = db1300_board_setup();
  break;
 default:
  pr_err("unsupported CPU on board\n");
  ret = -ENODEV;
 }
 if (ret)
  panic("cannot initialize board support");
}

static int __init db1xxx_arch_init(void)
{
 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);
 else if ((id == BCSR_WHOAMI_DB1500) || (id == BCSR_WHOAMI_PB1500) ||
   (id == BCSR_WHOAMI_PB1500R2))
  return db1500_pci_setup();

 return 0;
}
arch_initcall(db1xxx_arch_init);

static int __init db1xxx_dev_init(void)
{
 mips_set_machine_name(board_type_str());
 switch (BCSR_WHOAMI_BOARD(bcsr_read(BCSR_WHOAMI))) {
 case BCSR_WHOAMI_DB1000:
 case BCSR_WHOAMI_DB1500:
 case BCSR_WHOAMI_DB1100:
 case BCSR_WHOAMI_PB1500:
 case BCSR_WHOAMI_PB1500R2:
 case BCSR_WHOAMI_PB1100:
  return db1000_dev_setup();
 case BCSR_WHOAMI_PB1200_DDR1:
 case BCSR_WHOAMI_PB1200_DDR2:
 case BCSR_WHOAMI_DB1200:
  return db1200_dev_setup();
 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;
}
device_initcall(db1xxx_dev_init);

Messung V0.5
C=99 H=95 G=96

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.