Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  fpga.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __MACH_SDK7786_FPGA_H
#define __MACH_SDK7786_FPGA_H

#include <linux/io.h>
#include <linux/types.h>
#include <linux/bitops.h>

#define SRSTR  0x000
#define  SRSTR_MAGIC 0x1971 /* Fixed magical read value */

#define INTASR  0x010
#define INTAMR  0x020
#define MODSWR  0x030
#define INTTESTR 0x040
#define SYSSR  0x050
#define NRGPR  0x060

#define NMISR  0x070
#define  NMISR_MAN_NMI BIT(0)
#define  NMISR_AUX_NMI BIT(1)
#define  NMISR_MASK (NMISR_MAN_NMI | NMISR_AUX_NMI)

#define NMIMR  0x080
#define  NMIMR_MAN_NMIM BIT(0) /* Manual NMI mask */
#define  NMIMR_AUX_NMIM BIT(1) /* Auxiliary NMI mask */
#define  NMIMR_MASK (NMIMR_MAN_NMIM | NMIMR_AUX_NMIM)

#define INTBSR  0x090
#define INTBMR  0x0a0
#define USRLEDR  0x0b0
#define MAPSWR  0x0c0
#define FPGAVR  0x0d0
#define FPGADR  0x0e0
#define PCBRR  0x0f0
#define RSR  0x100
#define EXTASR  0x110
#define SPCAR  0x120
#define INTMSR  0x130

#define PCIECR  0x140
#define  PCIECR_PCIEMUX1 BIT(15)
#define  PCIECR_PCIEMUX0 BIT(14)
#define  PCIECR_PRST4  BIT(12) /* slot 4 card present */
#define  PCIECR_PRST3  BIT(11) /* slot 3 card present */
#define  PCIECR_PRST2  BIT(10) /* slot 2 card present */
#define  PCIECR_PRST1  BIT(9)  /* slot 1 card present */
#define  PCIECR_CLKEN  BIT(4) /* oscillator enable */

#define FAER  0x150
#define USRGPIR  0x160

/* 0x170 reserved */

#define LCLASR   0x180
#define  LCLASR_FRAMEN  BIT(15)

#define  LCLASR_FPGA_SEL_SHIFT 12
#define  LCLASR_NAND_SEL_SHIFT 8
#define  LCLASR_NORB_SEL_SHIFT 4
#define  LCLASR_NORA_SEL_SHIFT 0

#define  LCLASR_AREA_MASK 0x7

#define  LCLASR_FPGA_SEL_MASK (LCLASR_AREA_MASK << LCLASR_FPGA_SEL_SHIFT)
#define  LCLASR_NAND_SEL_MASK (LCLASR_AREA_MASK << LCLASR_NAND_SEL_SHIFT)
#define  LCLASR_NORB_SEL_MASK (LCLASR_AREA_MASK << LCLASR_NORB_SEL_SHIFT)
#define  LCLASR_NORA_SEL_MASK (LCLASR_AREA_MASK << LCLASR_NORA_SEL_SHIFT)

#define SBCR  0x190
#define  SCBR_I2CMEN BIT(0) /* FPGA I2C master enable */
#define  SCBR_I2CCEN BIT(1) /* CPU I2C master enable */

#define PWRCR  0x1a0
#define  PWRCR_SCISEL0 BIT(0)
#define  PWRCR_SCISEL1 BIT(1)
#define  PWRCR_SCIEN BIT(2) /* Serial port enable */
#define  PWRCR_PDWNACK BIT(5) /* Power down acknowledge */
#define  PWRCR_PDWNREQ BIT(7) /* Power down request */
#define  PWRCR_INT2 BIT(11) /* INT2 connection to power manager */
#define  PWRCR_BUPINIT BIT(13) /* DDR backup initialize */
#define  PWRCR_BKPRST BIT(15) /* Backup power reset */

#define SPCBR  0x1b0
#define SPICR  0x1c0
#define SPIDR  0x1d0
#define I2CCR  0x1e0
#define I2CDR  0x1f0
#define FPGACR  0x200
#define IASELR1  0x210
#define IASELR2  0x220
#define IASELR3  0x230
#define IASELR4  0x240
#define IASELR5  0x250
#define IASELR6  0x260
#define IASELR7  0x270
#define IASELR8  0x280
#define IASELR9  0x290
#define IASELR10 0x2a0
#define IASELR11 0x2b0
#define IASELR12 0x2c0
#define IASELR13 0x2d0
#define IASELR14 0x2e0
#define IASELR15 0x2f0
/* 0x300 reserved */
#define IBSELR1  0x310
#define IBSELR2  0x320
#define IBSELR3  0x330
#define IBSELR4  0x340
#define IBSELR5  0x350
#define IBSELR6  0x360
#define IBSELR7  0x370
#define IBSELR8  0x380
#define IBSELR9  0x390
#define IBSELR10 0x3a0
#define IBSELR11 0x3b0
#define IBSELR12 0x3c0
#define IBSELR13 0x3d0
#define IBSELR14 0x3e0
#define IBSELR15 0x3f0
#define USRACR  0x400
#define BEEPR  0x410
#define USRLCDR  0x420
#define SMBCR  0x430
#define SMBDR  0x440
#define USBCR  0x450
#define AMSR  0x460
#define ACCR  0x470
#define SDIFCR  0x480

/* arch/sh/boards/mach-sdk7786/fpga.c */
extern void __iomem *sdk7786_fpga_base;
extern void sdk7786_fpga_init(void);

/* arch/sh/boards/mach-sdk7786/nmi.c */
extern void sdk7786_nmi_init(void);

#define SDK7786_FPGA_REGADDR(reg) (sdk7786_fpga_base + (reg))

/*
 * A convenience wrapper from register offset to internal I2C address,
 * when the FPGA is in I2C slave mode.
 */

#define SDK7786_FPGA_I2CADDR(reg) ((reg) >> 3)

static inline u16 fpga_read_reg(unsigned int reg)
{
 return ioread16(sdk7786_fpga_base + reg);
}

static inline void fpga_write_reg(u16 val, unsigned int reg)
{
 iowrite16(val, sdk7786_fpga_base + reg);
}

#endif /* __MACH_SDK7786_FPGA_H */

Messung V0.5
C=90 H=96 G=93

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






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge