1.1 --- a/pkg/devices/lib/cpm/include/cpm-jz4740.h Sat Jan 16 23:10:48 2021 +0100
1.2 +++ b/pkg/devices/lib/cpm/include/cpm-jz4740.h Sat Jan 16 23:47:39 2021 +0100
1.3 @@ -1,5 +1,7 @@
1.4 /*
1.5 - * Copyright (C) 2017, 2018 Paul Boddie <paul@boddie.org.uk>
1.6 + * CPM (clock and power management) support for the JZ4740.
1.7 + *
1.8 + * Copyright (C) 2017, 2018, 2020, 2021 Paul Boddie <paul@boddie.org.uk>
1.9 *
1.10 * This program is free software; you can redistribute it and/or
1.11 * modify it under the terms of the GNU General Public License as
1.12 @@ -43,11 +45,16 @@
1.13 int pll_enabled();
1.14 int pll_bypassed();
1.15
1.16 + // Clock control.
1.17 +
1.18 + uint32_t get_clock_gate_value(enum Clock_identifiers clock);
1.19 +
1.20 public:
1.21 Cpm_jz4740_chip(l4_addr_t addr, uint32_t exclk_freq);
1.22
1.23 - int have_clock();
1.24 - void start_clock();
1.25 + int have_clock(enum Clock_identifiers clock);
1.26 + void start_clock(enum Clock_identifiers clock);
1.27 + void stop_clock(enum Clock_identifiers clock);
1.28
1.29 int have_pll();
1.30
1.31 @@ -69,9 +76,6 @@
1.32 void set_lcd_pixel_divider(uint16_t division);
1.33 void set_lcd_frequencies(uint32_t pclk, uint8_t ratio);
1.34
1.35 - void start_lcd();
1.36 - void stop_lcd();
1.37 -
1.38 uint32_t get_pll_frequency();
1.39 uint32_t get_output_frequency();
1.40 void update_output_frequency();
1.41 @@ -94,11 +98,9 @@
1.42
1.43 int jz4740_cpm_have_pll(void *cpm);
1.44
1.45 -int jz4740_cpm_have_clock(void *cpm);
1.46 -void jz4740_cpm_start_clock(void *cpm);
1.47 -
1.48 -void jz4740_cpm_start_lcd(void *cpm);
1.49 -void jz4740_cpm_stop_lcd(void *cpm);
1.50 +int jz4740_cpm_have_clock(void *cpm, enum Clock_identifiers clock);
1.51 +void jz4740_cpm_start_clock(void *cpm, enum Clock_identifiers clock);
1.52 +void jz4740_cpm_stop_clock(void *cpm, enum Clock_identifiers clock);
1.53
1.54 uint16_t jz4740_cpm_get_lcd_pixel_divider(void *cpm);
1.55 uint32_t jz4740_cpm_get_lcd_pixel_frequency(void *cpm);