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

Quelle  clk-zynqmp.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 *  Copyright (C) 2016-2018 Xilinx
 */


#ifndef __LINUX_CLK_ZYNQMP_H_
#define __LINUX_CLK_ZYNQMP_H_

#include <linux/spinlock.h>

#include <linux/firmware/xlnx-zynqmp.h>

/* Common Flags */
/* must be gated across rate change */
#define ZYNQMP_CLK_SET_RATE_GATE BIT(0)
/* must be gated across re-parent */
#define ZYNQMP_CLK_SET_PARENT_GATE BIT(1)
/* propagate rate change up one level */
#define ZYNQMP_CLK_SET_RATE_PARENT BIT(2)
/* do not gate even if unused */
#define ZYNQMP_CLK_IGNORE_UNUSED BIT(3)
/* don't re-parent on rate change */
#define ZYNQMP_CLK_SET_RATE_NO_REPARENT BIT(7)
/* do not gate, ever */
#define ZYNQMP_CLK_IS_CRITICAL  BIT(11)

/* Type Flags for divider clock */
#define ZYNQMP_CLK_DIVIDER_ONE_BASED  BIT(0)
#define ZYNQMP_CLK_DIVIDER_POWER_OF_TWO  BIT(1)
#define ZYNQMP_CLK_DIVIDER_ALLOW_ZERO  BIT(2)
#define ZYNQMP_CLK_DIVIDER_HIWORD_MASK  BIT(3)
#define ZYNQMP_CLK_DIVIDER_ROUND_CLOSEST BIT(4)
#define ZYNQMP_CLK_DIVIDER_READ_ONLY  BIT(5)
#define ZYNQMP_CLK_DIVIDER_MAX_AT_ZERO  BIT(6)

/* Type Flags for mux clock */
#define ZYNQMP_CLK_MUX_INDEX_ONE  BIT(0)
#define ZYNQMP_CLK_MUX_INDEX_BIT  BIT(1)
#define ZYNQMP_CLK_MUX_HIWORD_MASK  BIT(2)
#define ZYNQMP_CLK_MUX_READ_ONLY  BIT(3)
#define ZYNQMP_CLK_MUX_ROUND_CLOSEST  BIT(4)
#define ZYNQMP_CLK_MUX_BIG_ENDIAN  BIT(5)

enum topology_type {
 TYPE_INVALID,
 TYPE_MUX,
 TYPE_PLL,
 TYPE_FIXEDFACTOR,
 TYPE_DIV1,
 TYPE_DIV2,
 TYPE_GATE,
};

/**
 * struct clock_topology - Clock topology
 * @type: Type of topology
 * @flag: Topology flags
 * @type_flag: Topology type specific flag
 * @custom_type_flag: Topology type specific custom flag
 */

struct clock_topology {
 u32 type;
 u32 flag;
 u32 type_flag;
 u8 custom_type_flag;
};

unsigned long zynqmp_clk_map_common_ccf_flags(const u32 zynqmp_flag);

struct clk_hw *zynqmp_clk_register_pll(const char *name, u32 clk_id,
           const char * const *parents,
           u8 num_parents,
           const struct clock_topology *nodes);

struct clk_hw *zynqmp_clk_register_gate(const char *name, u32 clk_id,
     const char * const *parents,
     u8 num_parents,
     const struct clock_topology *nodes);

struct clk_hw *zynqmp_clk_register_divider(const char *name,
        u32 clk_id,
        const char * const *parents,
        u8 num_parents,
        const struct clock_topology *nodes);

struct clk_hw *zynqmp_clk_register_mux(const char *name, u32 clk_id,
           const char * const *parents,
           u8 num_parents,
           const struct clock_topology *nodes);

struct clk_hw *zynqmp_clk_register_fixed_factor(const char *name,
     u32 clk_id,
     const char * const *parents,
     u8 num_parents,
     const struct clock_topology *nodes);

#endif

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

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