Project

General

Profile

Download (1.71 KB) Statistics
| Branch: | Tag: | Revision:
1 d5be5374 Harald Welte
2
#include <stdint.h>
3
#include <stdio.h>
4
#include <unistd.h>
5
#include <stdlib.h>
6
#include <errno.h>
7
#include <string.h>
8
#include <stdarg.h>
9
10
#include <common.h>
11
#include <tuner_e4k.h>
12
13
14
void logp2(int subsys, unsigned int level, char *file,
15
	   int line, int cont, const char *format, ...)
16
{
17
	va_list ap;
18
	fprintf(stderr, "%u/%u/%s:%u: ", subsys, level, file, line);
19
20
	va_start(ap, format);
21
	vfprintf(stderr, format, ap);
22
	va_end(ap);
23
}
24
25
26
static uint8_t regs[0x7f];
27
28
/* stub functions for register read/write */
29
int e4k_reg_write(struct e4k_state *e4k, uint8_t reg, uint8_t val)
30
{
31
	printf("REG WRITE: [0x%02x] = 0x%02x\n", reg, val);
32
33
	if (reg > ARRAY_SIZE(regs))
34
		return -ERANGE;
35
36
	regs[reg] = val;
37
38
	return 0;
39
}
40
41
int e4k_reg_read(struct e4k_state *e4k, uint8_t reg)
42
{
43
	if (reg > ARRAY_SIZE(regs))
44
		return -ERANGE;
45
46
	printf("REG READ:  [0x%02x] = 0x%02x\n", reg, regs[reg]);
47
48
	return regs[reg];
49
}
50
51
static struct e4k_state g_e4k;
52
53
#define FOSC	26000000
54
55
static void dump_params(struct e4k_pll_params *p)
56
{
57
	int32_t delta = p->intended_flo - p->flo;
58
59
	printf("Flo_int = %u: R=%u, X=%u, Z=%u, Flo = %u, delta=%d\n",
60
		p->intended_flo, p->r, p->x, p->z, p->flo, delta);
61
}
62
63
static void compute_and_dump(uint32_t flo)
64
{
65
	struct e4k_pll_params params;
66
	int rc;
67
68
	memset(&params, 0, sizeof(params));
69
	rc = e4k_compute_pll_params(&params, FOSC, flo);
70
	if (rc < 0) {
71
		fprintf(stderr, "something went wrong!\n");
72
		exit(1);
73
	}
74
75
	dump_params(&params);
76
	e4k_tune_params(&g_e4k, &params);
77
}
78
79
static const uint32_t test_freqs[] = {
80
	888000000, 66666666, 425000000
81
};
82
	//1234567890
83
84
int main(int argc, char **argv)
85
{
86
	int i;
87
88
	printf("Initializing....\n");
89
	e4k_init(&g_e4k);
90
91
	for (i = 0; i < ARRAY_SIZE(test_freqs); i++) {
92
		compute_and_dump(test_freqs[i]);
93
	}
94
}
Add picture from clipboard (Maximum size: 48.8 MB)