blob: 6579cc0c5d91455ecd4b22740c02bd8f16310d57 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* clk-synthesizer.h
*
* Clock synthesizer header
*
* Copyright (C) 2016, Texas Instruments, Incorporated - http://www.ti.com/
*/
#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