/** * struct pll - Structure for PLL configuration * * @offset: STBY register offset * @has_clkn: Flag to indicate if CLK1/2 are accessible or not
*/ struct pll { unsignedint offset:9; unsignedint has_clkn:1;
};
/** * struct ddiv - Structure for dynamic switching divider * * @offset: register offset * @shift: position of the divider bit * @width: width of the divider * @monbit: monitor bit in CPG_CLKSTATUS0 register * @no_rmw: flag to indicate if the register is read-modify-write * (1: no RMW, 0: RMW)
*/ struct ddiv { unsignedint offset:11; unsignedint shift:4; unsignedint width:4; unsignedint monbit:5; unsignedint no_rmw:1;
};
/* * On RZ/V2H(P), the dynamic divider clock supports up to 19 monitor bits, * while on RZ/G3E, it supports up to 16 monitor bits. Use the maximum value * `0x1f` to indicate that monitor bits are not supported for static divider * clocks.
*/ #define CSDIV_NO_MON (0x1f)
/** * struct smuxed - Structure for static muxed clocks * * @offset: register offset * @shift: position of the divider field * @width: width of the divider field
*/ struct smuxed { unsignedint offset:11; unsignedint shift:4; unsignedint width:4;
};
/** * struct rzv2h_mod_clk - Module Clocks definitions * * @name: handle between common and hardware-specific interfaces * @mstop_data: packed data mstop register offset and mask * @parent: id of parent clock * @critical: flag to indicate the clock is critical * @no_pm: flag to indicate PM is not supported * @on_index: control register index * @on_bit: ON bit * @mon_index: monitor register index * @mon_bit: monitor bit * @ext_clk_mux_index: mux index for external clock source, or -1 if internal
*/ struct rzv2h_mod_clk { constchar *name;
u32 mstop_data;
u16 parent; bool critical; bool no_pm;
u8 on_index;
u8 on_bit;
s8 mon_index;
u8 mon_bit;
s8 ext_clk_mux_index;
};
/** * struct rzv2h_cpg_info - SoC-specific CPG Description * * @core_clks: Array of Core Clock definitions * @num_core_clks: Number of entries in core_clks[] * @last_dt_core_clk: ID of the last Core Clock exported to DT * @num_total_core_clks: Total number of Core Clocks (exported + internal) * * @mod_clks: Array of Module Clock definitions * @num_mod_clks: Number of entries in mod_clks[] * @num_hw_mod_clks: Number of Module Clocks supported by the hardware * * @resets: Array of Module Reset definitions * @num_resets: Number of entries in resets[] * * @num_mstop_bits: Maximum number of MSTOP bits supported, equivalent to the * number of CPG_BUS_m_MSTOP registers multiplied by 16.
*/ struct rzv2h_cpg_info { /* Core Clocks */ conststruct cpg_core_clk *core_clks; unsignedint num_core_clks; unsignedint last_dt_core_clk; unsignedint num_total_core_clks;
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.