Linux Audio

Check our new training course

Loading...
v3.1
 1/*
 2 *  arch/arm/include/asm/hardware/icst.h
 3 *
 4 *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
 5 *
 6 * This program is free software; you can redistribute it and/or modify
 7 * it under the terms of the GNU General Public License version 2 as
 8 * published by the Free Software Foundation.
 9 *
10 *  Support functions for calculating clocks/divisors for the ICST
11 *  clock generators.  See http://www.idt.com/ for more information
12 *  on these devices.
13 */
14#ifndef ASMARM_HARDWARE_ICST_H
15#define ASMARM_HARDWARE_ICST_H
16
17struct icst_params {
18	unsigned long	ref;
19	unsigned long	vco_max;	/* inclusive */
20	unsigned long	vco_min;	/* exclusive */
21	unsigned short	vd_min;		/* inclusive */
22	unsigned short	vd_max;		/* inclusive */
23	unsigned char	rd_min;		/* inclusive */
24	unsigned char	rd_max;		/* inclusive */
25	const unsigned char *s2div;	/* chip specific s2div array */
26	const unsigned char *idx2s;	/* chip specific idx2s array */
27};
28
29struct icst_vco {
30	unsigned short	v;
31	unsigned char	r;
32	unsigned char	s;
33};
34
35unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco);
36struct icst_vco icst_hz_to_vco(const struct icst_params *p, unsigned long freq);
37
38/*
39 * ICST307 VCO frequency must be between 6MHz and 200MHz (3.3 or 5V).
40 * This frequency is pre-output divider.
41 */
42#define ICST307_VCO_MIN	6000000
43#define ICST307_VCO_MAX	200000000
44
45extern const unsigned char icst307_s2div[];
46extern const unsigned char icst307_idx2s[];
47
48/*
49 * ICST525 VCO frequency must be between 10MHz and 200MHz (3V) or 320MHz (5V).
50 * This frequency is pre-output divider.
51 */
52#define ICST525_VCO_MIN		10000000
53#define ICST525_VCO_MAX_3V	200000000
54#define ICST525_VCO_MAX_5V	320000000
55
56extern const unsigned char icst525_s2div[];
57extern const unsigned char icst525_idx2s[];
58
59#endif
v4.10.11
 1/*
 2 *  arch/arm/include/asm/hardware/icst.h
 3 *
 4 *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
 5 *
 6 * This program is free software; you can redistribute it and/or modify
 7 * it under the terms of the GNU General Public License version 2 as
 8 * published by the Free Software Foundation.
 9 *
10 *  Support functions for calculating clocks/divisors for the ICST
11 *  clock generators.  See http://www.idt.com/ for more information
12 *  on these devices.
13 */
14#ifndef ASMARM_HARDWARE_ICST_H
15#define ASMARM_HARDWARE_ICST_H
16
17struct icst_params {
18	unsigned long	ref;
19	unsigned long	vco_max;	/* inclusive */
20	unsigned long	vco_min;	/* exclusive */
21	unsigned short	vd_min;		/* inclusive */
22	unsigned short	vd_max;		/* inclusive */
23	unsigned char	rd_min;		/* inclusive */
24	unsigned char	rd_max;		/* inclusive */
25	const unsigned char *s2div;	/* chip specific s2div array */
26	const unsigned char *idx2s;	/* chip specific idx2s array */
27};
28
29struct icst_vco {
30	unsigned short	v;
31	unsigned char	r;
32	unsigned char	s;
33};
34
35unsigned long icst_hz(const struct icst_params *p, struct icst_vco vco);
36struct icst_vco icst_hz_to_vco(const struct icst_params *p, unsigned long freq);
37
38/*
39 * ICST307 VCO frequency must be between 6MHz and 200MHz (3.3 or 5V).
40 * This frequency is pre-output divider.
41 */
42#define ICST307_VCO_MIN	6000000
43#define ICST307_VCO_MAX	200000000
44
45extern const unsigned char icst307_s2div[];
46extern const unsigned char icst307_idx2s[];
47
48/*
49 * ICST525 VCO frequency must be between 10MHz and 200MHz (3V) or 320MHz (5V).
50 * This frequency is pre-output divider.
51 */
52#define ICST525_VCO_MIN		10000000
53#define ICST525_VCO_MAX_3V	200000000
54#define ICST525_VCO_MAX_5V	320000000
55
56extern const unsigned char icst525_s2div[];
57extern const unsigned char icst525_idx2s[];
58
59#endif