1.1 --- a/pkg/devices/lib/cpm/src/x1600.cc Wed Apr 24 00:47:34 2024 +0200
1.2 +++ b/pkg/devices/lib/cpm/src/x1600.cc Sat Apr 27 23:46:28 2024 +0200
1.3 @@ -273,7 +273,7 @@
1.4 mux_dev (3, Clocks(Clock_main, Clock_pll_M, Clock_pll_E)),
1.5 mux_main (3, Clocks(Clock_none, Clock_external, Clock_pll_A)),
1.6 mux_i2s (2, Clocks(Clock_main, Clock_pll_E)),
1.7 - mux_rtc (2, Clocks(Clock_external_div_512, Clock_rtc_external));
1.8 + mux_rtc (2, Clocks(Clock_external_div, Clock_rtc_external));
1.9
1.10
1.11
1.12 @@ -410,7 +410,7 @@
1.13 Divider(Clock_divider_ssi));
1.14
1.15 static Clock_divided_fixed
1.16 - clock_external_div_512((Source(mux_external)), (Divider_fixed(512)));
1.17 + clock_external_div((Source(mux_external)), (Divider_fixed(512)));
1.18
1.19 static Clock_divided_i2s
1.20 clock_i2s0_rx(Source(mux_i2s0_rx),
1.21 @@ -465,7 +465,7 @@
1.22 &clock_dma,
1.23 &clock_none, // Clock_emac
1.24 &clock_external,
1.25 - &clock_external_div_512,
1.26 + &clock_external_div,
1.27 &clock_hclock0,
1.28 &clock_hclock2,
1.29 &clock_hclock2_pclock,
1.30 @@ -488,6 +488,7 @@
1.31 &clock_none, // Clock_lcd_pixel1
1.32 &clock_mac,
1.33 &clock_main,
1.34 + &clock_none, // Clock_mclock
1.35 &clock_mipi_csi,
1.36 &clock_none, // Clock_msc
1.37 &clock_msc0,
1.38 @@ -498,6 +499,7 @@
1.39 &clock_none, // Clock_otg1
1.40 &clock_pclock,
1.41 &clock_none, // Clock_pcm
1.42 + &clock_none, // Clock_pll
1.43 &clock_pll_A,
1.44 &clock_pll_E,
1.45 &clock_pll_M,
1.46 @@ -539,6 +541,12 @@
1.47 {
1.48 }
1.49
1.50 +Cpm_chip *
1.51 +x1600_cpm_chip(l4_addr_t cpm_base)
1.52 +{
1.53 + return new Cpm_x1600_chip(cpm_base);
1.54 +}
1.55 +
1.56
1.57
1.58 // C language interface functions.
1.59 @@ -552,77 +560,77 @@
1.60 const char *
1.61 x1600_cpm_clock_type(void *cpm, enum Clock_identifiers clock)
1.62 {
1.63 - return static_cast<Cpm_x1600_chip *>(cpm)->clock_type(clock);
1.64 + return static_cast<Cpm_chip *>(cpm)->clock_type(clock);
1.65 }
1.66
1.67 int
1.68 x1600_cpm_have_clock(void *cpm, enum Clock_identifiers clock)
1.69 {
1.70 - return static_cast<Cpm_x1600_chip *>(cpm)->have_clock(clock);
1.71 + return static_cast<Cpm_chip *>(cpm)->have_clock(clock);
1.72 }
1.73
1.74 void
1.75 x1600_cpm_start_clock(void *cpm, enum Clock_identifiers clock)
1.76 {
1.77 - static_cast<Cpm_x1600_chip *>(cpm)->start_clock(clock);
1.78 + static_cast<Cpm_chip *>(cpm)->start_clock(clock);
1.79 }
1.80
1.81 void
1.82 x1600_cpm_stop_clock(void *cpm, enum Clock_identifiers clock)
1.83 {
1.84 - static_cast<Cpm_x1600_chip *>(cpm)->stop_clock(clock);
1.85 + static_cast<Cpm_chip *>(cpm)->stop_clock(clock);
1.86 }
1.87
1.88 int
1.89 x1600_cpm_get_parameters(void *cpm, enum Clock_identifiers clock, uint32_t parameters[])
1.90 {
1.91 - return static_cast<Cpm_x1600_chip *>(cpm)->get_parameters(clock, parameters);
1.92 + return static_cast<Cpm_chip *>(cpm)->get_parameters(clock, parameters);
1.93 }
1.94
1.95 int
1.96 x1600_cpm_set_parameters(void *cpm, enum Clock_identifiers clock, int num_parameters, uint32_t parameters[])
1.97 {
1.98 - return static_cast<Cpm_x1600_chip *>(cpm)->set_parameters(clock, num_parameters, parameters);
1.99 + return static_cast<Cpm_chip *>(cpm)->set_parameters(clock, num_parameters, parameters);
1.100 }
1.101
1.102 uint8_t
1.103 x1600_cpm_get_source(void *cpm, enum Clock_identifiers clock)
1.104 {
1.105 - return static_cast<Cpm_x1600_chip *>(cpm)->get_source(clock);
1.106 + return static_cast<Cpm_chip *>(cpm)->get_source(clock);
1.107 }
1.108
1.109 void
1.110 x1600_cpm_set_source(void *cpm, enum Clock_identifiers clock, uint8_t source)
1.111 {
1.112 - static_cast<Cpm_x1600_chip *>(cpm)->set_source(clock, source);
1.113 + static_cast<Cpm_chip *>(cpm)->set_source(clock, source);
1.114 }
1.115
1.116 enum Clock_identifiers
1.117 x1600_cpm_get_source_clock(void *cpm, enum Clock_identifiers clock)
1.118 {
1.119 - return static_cast<Cpm_x1600_chip *>(cpm)->get_source_clock(clock);
1.120 + return static_cast<Cpm_chip *>(cpm)->get_source_clock(clock);
1.121 }
1.122
1.123 void
1.124 x1600_cpm_set_source_clock(void *cpm, enum Clock_identifiers clock, enum Clock_identifiers source)
1.125 {
1.126 - static_cast<Cpm_x1600_chip *>(cpm)->set_source_clock(clock, source);
1.127 + static_cast<Cpm_chip *>(cpm)->set_source_clock(clock, source);
1.128 }
1.129
1.130 uint64_t
1.131 x1600_cpm_get_source_frequency(void *cpm, enum Clock_identifiers clock)
1.132 {
1.133 - return static_cast<Cpm_x1600_chip *>(cpm)->get_source_frequency(clock);
1.134 + return static_cast<Cpm_chip *>(cpm)->get_source_frequency(clock);
1.135 }
1.136
1.137 uint64_t
1.138 x1600_cpm_get_frequency(void *cpm, enum Clock_identifiers clock)
1.139 {
1.140 - return static_cast<Cpm_x1600_chip *>(cpm)->get_frequency(clock);
1.141 + return static_cast<Cpm_chip *>(cpm)->get_frequency(clock);
1.142 }
1.143
1.144 int
1.145 x1600_cpm_set_frequency(void *cpm, enum Clock_identifiers clock, uint64_t frequency)
1.146 {
1.147 - return static_cast<Cpm_x1600_chip *>(cpm)->set_frequency(clock, frequency);
1.148 + return static_cast<Cpm_chip *>(cpm)->set_frequency(clock, frequency);
1.149 }