1.1 --- a/pkg/devices/lib/cpm/include/cpm-common.h Sun Sep 17 19:20:18 2023 +0200
1.2 +++ b/pkg/devices/lib/cpm/include/cpm-common.h Sun Sep 17 21:36:19 2023 +0200
1.3 @@ -255,6 +255,12 @@
1.4 // Output frequency.
1.5
1.6 virtual uint32_t get_frequency(Cpm_regs ®s, uint32_t source_frequency) = 0;
1.7 +
1.8 + // Other operations.
1.9 +
1.10 + virtual int get_parameters(Cpm_regs ®s, uint32_t parameters[]) = 0;
1.11 +
1.12 + virtual void set_parameters(Cpm_regs ®s, uint32_t parameters[]) = 0;
1.13 };
1.14
1.15
1.16 @@ -285,6 +291,12 @@
1.17
1.18 uint32_t get_frequency(Cpm_regs ®s, uint32_t source_frequency);
1.19
1.20 + // Other operations.
1.21 +
1.22 + int get_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.23 +
1.24 + void set_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.25 +
1.26 // Undefined divider.
1.27
1.28 static Divider undefined;
1.29 @@ -321,8 +333,9 @@
1.30
1.31 // Other operations.
1.32
1.33 - void set_parameters(Cpm_regs ®s, uint32_t multiplier,
1.34 - uint32_t in_divider, uint32_t out_divider);
1.35 + int get_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.36 +
1.37 + void set_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.38 };
1.39
1.40
1.41 @@ -353,8 +366,9 @@
1.42
1.43 // Other operations.
1.44
1.45 - void set_parameters(Cpm_regs ®s, uint32_t multiplier,
1.46 - uint32_t divider_N, uint32_t divider_D);
1.47 + int get_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.48 +
1.49 + void set_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.50 };
1.51
1.52
1.53 @@ -480,6 +494,10 @@
1.54
1.55 virtual ~Clock_divided();
1.56
1.57 + virtual int get_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.58 +
1.59 + virtual void set_parameters(Cpm_regs ®s, uint32_t parameters[]);
1.60 +
1.61 // Output frequency.
1.62
1.63 uint32_t get_frequency(Cpm_regs ®s);
1.64 @@ -521,11 +539,6 @@
1.65 // Output frequency.
1.66
1.67 uint32_t get_frequency(Cpm_regs ®s);
1.68 -
1.69 - // Other operations.
1.70 -
1.71 - void set_parameters(Cpm_regs ®s, uint32_t multiplier,
1.72 - uint32_t in_divider, uint32_t out_divider);
1.73 };
1.74
1.75