u-boot-brain/arch/arm/include/asm/arch-am33xx/clk_synthesizer.h
Lokesh Vutla 3164f3c689 ARM: AM33xx: Add support for Clock Synthesizer
The CDCE913 and CDCEL913 devices are modular PLL-based, low cost,
high performance , programmable clock synthesizers. They generate
upto 3 output clocks from a single input frequency. Each output can
be programmed for any clock-frequency.

Adding support for the same.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2016-05-27 15:47:52 -04:00

44 lines
929 B
C

/*
* clk-synthesizer.h
*
* Clock synthesizer header
*
* Copyright (C) 2016, Texas Instruments, Incorporated - http://www.ti.com/
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __CLK_SYNTHESIZER_H
#define __CLK_SYNTHESIZER_H
#include <common.h>
#define CLK_SYNTHESIZER_ID_REG 0x0
#define CLK_SYNTHESIZER_XCSEL 0x05
#define CLK_SYNTHESIZER_MUX_REG 0x14
#define CLK_SYNTHESIZER_PDIV2_REG 0x16
#define CLK_SYNTHESIZER_PDIV3_REG 0x17
#define CLK_SYNTHESIZER_BYTE_MODE 0x80
/**
* struct clk_synth: This structure holds data neeed for configuring
* for clock synthesizer.
* @id: The id of synthesizer
* @capacitor: value of the capacitor attached
* @mux: mux settings.
* @pdiv2: Div to be applied to second output
* @pdiv3: Div to be applied to third output
*/
struct clk_synth {
u32 id;
u32 capacitor;
u32 mux;
u32 pdiv2;
u32 pdiv3;
};
int setup_clock_synthesizer(struct clk_synth *data);
#endif