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


Quelle  pinctrl-starfive-jh7110.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Pinctrl / GPIO driver for StarFive JH7110 SoC
 *
 * Copyright (C) 2022 StarFive Technology Co., Ltd.
 */


#ifndef __PINCTRL_STARFIVE_JH7110_H__
#define __PINCTRL_STARFIVE_JH7110_H__

#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinmux.h>

struct jh7110_pinctrl {
 struct device *dev;
 struct gpio_chip gc;
 struct pinctrl_gpio_range gpios;
 raw_spinlock_t lock;
 void __iomem *base;
 struct pinctrl_dev *pctl;
 /* register read/write mutex */
 struct mutex mutex;
 const struct jh7110_pinctrl_soc_info *info;
 u32 *saved_regs;
};

struct jh7110_gpio_irq_reg {
 unsigned int is_reg_base;
 unsigned int ic_reg_base;
 unsigned int ibe_reg_base;
 unsigned int iev_reg_base;
 unsigned int ie_reg_base;
 unsigned int ris_reg_base;
 unsigned int mis_reg_base;
};

struct jh7110_pinctrl_soc_info {
 const struct pinctrl_pin_desc *pins;
 unsigned int npins;
 unsigned int ngpios;
 unsigned int gc_base;

 /* gpio dout/doen/din/gpioinput register */
 unsigned int dout_reg_base;
 unsigned int dout_mask;
 unsigned int doen_reg_base;
 unsigned int doen_mask;
 unsigned int gpi_reg_base;
 unsigned int gpi_mask;
 unsigned int gpioin_reg_base;

 const struct jh7110_gpio_irq_reg *irq_reg;

 unsigned int nsaved_regs;

 /* generic pinmux */
 int (*jh7110_set_one_pin_mux)(struct jh7110_pinctrl *sfp,
          unsigned int pin,
          unsigned int din, u32 dout,
          u32 doen, u32 func);
 /* gpio chip */
 int (*jh7110_get_padcfg_base)(struct jh7110_pinctrl *sfp,
          unsigned int pin);
 void (*jh7110_gpio_irq_handler)(struct irq_desc *desc);
 int (*jh7110_gpio_init_hw)(struct gpio_chip *gc);
};

void jh7110_set_gpiomux(struct jh7110_pinctrl *sfp, unsigned int pin,
   unsigned int din, u32 dout, u32 doen);
int jh7110_pinctrl_probe(struct platform_device *pdev);
struct jh7110_pinctrl *jh7110_from_irq_desc(struct irq_desc *desc);
extern const struct dev_pm_ops jh7110_pinctrl_pm_ops;

#endif /* __PINCTRL_STARFIVE_JH7110_H__ */

Messung V0.5
C=91 H=100 G=95

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