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

Quelle  tqm85xx.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Based on MPC8560 ADS and arch/ppc tqm85xx ports
 *
 * Maintained by Kumar Gala (see MAINTAINERS for contact information)
 *
 * Copyright 2008 Freescale Semiconductor Inc.
 *
 * Copyright (c) 2005-2006 DENX Software Engineering
 * Stefan Roese <sr@denx.de>
 *
 * Based on original work by
 *  Kumar Gala <kumar.gala@freescale.com>
 *      Copyright 2004 Freescale Semiconductor Inc.
 */


#include <linux/stddef.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/kdev_t.h>
#include <linux/delay.h>
#include <linux/seq_file.h>
#include <linux/of.h>

#include <asm/time.h>
#include <asm/machdep.h>
#include <asm/pci-bridge.h>
#include <asm/mpic.h>
#include <mm/mmu_decl.h>
#include <asm/udbg.h>

#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>

#include "mpc85xx.h"

#ifdef CONFIG_CPM2
#include <asm/cpm2.h>
#endif /* CONFIG_CPM2 */

static void __init tqm85xx_pic_init(void)
{
 struct mpic *mpic = mpic_alloc(NULL, 0,
   MPIC_BIG_ENDIAN,
   0, 256, " OpenPIC ");
 BUG_ON(mpic == NULL);
 mpic_init(mpic);

 mpc85xx_cpm2_pic_init();
}

/*
 * Setup the architecture
 */

static void __init tqm85xx_setup_arch(void)
{
 if (ppc_md.progress)
  ppc_md.progress("tqm85xx_setup_arch()", 0);

#ifdef CONFIG_CPM2
 cpm2_reset();
#endif

 fsl_pci_assign_primary();
}

static void tqm85xx_show_cpuinfo(struct seq_file *m)
{
 uint pvid, svid, phid1;

 pvid = mfspr(SPRN_PVR);
 svid = mfspr(SPRN_SVR);

 seq_printf(m, "Vendor\t\t: TQ Components\n");
 seq_printf(m, "PVR\t\t: 0x%x\n", pvid);
 seq_printf(m, "SVR\t\t: 0x%x\n", svid);

 /* Display cpu Pll setting */
 phid1 = mfspr(SPRN_HID1);
 seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
}

static void tqm85xx_ti1520_fixup(struct pci_dev *pdev)
{
 unsigned int val;

 /* Do not do the fixup on other platforms! */
 if (!machine_is(tqm85xx))
  return;

 dev_info(&pdev->dev, "Using TI 1520 fixup on TQM85xx\n");

 /*
 * Enable P2CCLK bit in system control register
 * to enable CLOCK output to power chip
 */

 pci_read_config_dword(pdev, 0x80, &val);
 pci_write_config_dword(pdev, 0x80, val | (1 << 27));

}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1520,
  tqm85xx_ti1520_fixup);

machine_arch_initcall(tqm85xx, mpc85xx_common_publish_devices);

static const char * const board[] __initconst = {
 "tqc,tqm8540",
 "tqc,tqm8541",
 "tqc,tqm8548",
 "tqc,tqm8555",
 "tqc,tqm8560",
 NULL
};

define_machine(tqm85xx) {
 .name   = "TQM85xx",
 .compatibles  = board,
 .setup_arch  = tqm85xx_setup_arch,
 .init_IRQ  = tqm85xx_pic_init,
 .show_cpuinfo  = tqm85xx_show_cpuinfo,
 .get_irq  = mpic_get_irq,
 .progress  = udbg_progress,
};

Messung V0.5
C=95 H=58 G=78

¤ Dauer der Verarbeitung: 0.0 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.