Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/pinctrl/freescale/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  pinctrl-mxs.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright 2012 Freescale Semiconductor, Inc.
 */


#ifndef __PINCTRL_MXS_H
#define __PINCTRL_MXS_H

#include <linux/platform_device.h>
#include <linux/pinctrl/pinctrl.h>

#define SET 0x4
#define CLR 0x8
#define TOG 0xc

#define MXS_PINCTRL_PIN(pin) PINCTRL_PIN(pin, #pin)
#define PINID(bank, pin) ((bank) * 32 + (pin))

/*
 * pinmux-id bit field definitions
 *
 * bank: 15..12 (4)
 * pin: 11..4 (8)
 * muxsel: 3..0 (4)
 */

#define MUXID_TO_PINID(m) PINID((m) >> 12 & 0xf, (m) >> 4 & 0xff)
#define MUXID_TO_MUXSEL(m) ((m) & 0xf)

#define PINID_TO_BANK(p) ((p) >> 5)
#define PINID_TO_PIN(p)  ((p) % 32)

/*
 * pin config bit field definitions
 *
 * pull-up: 6..5 (2)
 * voltage: 4..3 (2)
 * mA: 2..0 (3)
 *
 * MSB of each field is presence bit for the config.
 */

#define PULL_PRESENT  (1 << 6)
#define PULL_SHIFT  5
#define VOL_PRESENT  (1 << 4)
#define VOL_SHIFT  3
#define MA_PRESENT  (1 << 2)
#define MA_SHIFT  0
#define PIN_CONFIG_TO_PULL(c) ((c) >> PULL_SHIFT & 0x1)
#define PIN_CONFIG_TO_VOL(c) ((c) >> VOL_SHIFT & 0x1)
#define PIN_CONFIG_TO_MA(c) ((c) >> MA_SHIFT & 0x3)

struct mxs_function {
 const char *name;
 const char **groups;
 unsigned ngroups;
};

struct mxs_group {
 const char *name;
 unsigned int *pins;
 unsigned npins;
 u8 *muxsel;
 u8 config;
};

struct mxs_regs {
 u16 muxsel;
 u16 drive;
 u16 pull;
};

struct mxs_pinctrl_soc_data {
 const struct mxs_regs *regs;
 const struct pinctrl_pin_desc *pins;
 unsigned npins;
 struct mxs_function *functions;
 unsigned nfunctions;
 struct mxs_group *groups;
 unsigned ngroups;
};

int mxs_pinctrl_probe(struct platform_device *pdev,
        struct mxs_pinctrl_soc_data *soc);

#endif /* __PINCTRL_MXS_H */

Messung V0.5
C=97 H=97 G=96

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© 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.