summaryrefslogtreecommitdiffstats
path: root/drivers/clk/clk-stm32mp1.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* clk: stm32mp1: add Debug clocksGabriel Fernandez2018-03-111-0/+22
| | | | | | | RCC manages clock for debug and trace. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add MCO clocksGabriel Fernandez2018-03-111-0/+20
| | | | | | | | | | | Two micro-controller clock output (MCO) pins are available: MCO1 and MCO2. For each output, it is possible to select a clock source. The selected clock can be divided thanks to configurable prescaler. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add RTC clockGabriel Fernandez2018-03-111-0/+15
| | | | | | | This patch adds the RTC clock. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add Peripheral & Kernel ClocksGabriel Fernandez2018-03-111-27/+820
| | | | | | | | | | | | | | | Each peripheral requires a bus interface clock. Some peripherals need also a dedicated clock for their communication interface, this clock is generally asynchronous with respect to the bus interface clock (peripheral clock), and is named kernel clock. For each IP, Peripheral clock and Kernel are generally gating with same gate. Also, Kernel clocks can share a same multiplexer. This patch introduces a mechanism to manage a gate with several clocks and to manage a shared multiplexer (mgate and mmux). Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add Kernel timersGabriel Fernandez2018-03-111-0/+185
| | | | | | | | | | | This patch adds Kernel timers. This patch adds timers kernel clock. Timers are gather into two groups corresponding to the APB bus they are attached to. Each group has its own prescaler, managed in this patch. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add Sub System clocksGabriel Fernandez2018-03-111-0/+85
| | | | | | | | | The RCC handles three sub-system clocks: ck_mpuss, ck_axiss and ck_mcuss. This patch adds also some MUX system and several prescalers. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add Post-dividers for PLLGabriel Fernandez2018-03-111-0/+221
| | | | | | | | | | | | | | | | | | | | | | | Each PLL has 3 outputs with post-dividers. pll1_p is dedicated for Cortex-A7 pll1_q is not connected pll1_r is not connected pll2_p is dedicated for AXI pll2_q is dedicated for GPU pll2_r is dedicated for DDR pll3_p is dedicated for mcu pll3_q is for Peripheral Kernel Clock pll3_r is for Peripheral Kernel Clock pll4_p is for Peripheral Kernel Clock pll4_q is for Peripheral Kernel Clock pll4_r is for Peripheral Kernel Clock Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add PLL clocksGabriel Fernandez2018-03-111-0/+209
| | | | | | | | | STMP32MP1 has 4 PLLs. PLL supports integer and fractional mode. Each PLL has 3 output dividers (p, q, r) Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add Source Clocks for PLLsGabriel Fernandez2018-03-111-0/+60
| | | | | | | | This patch adds source clocks for PLLs This patch also introduces MUX clock API. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: add MP1 gate for hse/hsi/csi oscillatorsGabriel Fernandez2018-03-111-0/+143
| | | | | | | MP1 Gate is a gate with a set and a clear register. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>
* clk: stm32mp1: Introduce STM32MP1 clock driverGabriel Fernandez2018-03-111-0/+364
This patch introduces the mechanism to probe stm32mp1 driver. It also defines registers definition. This patch also introduces the generic mechanism to register a clock (a simple gate, divider and fixed factor). All clocks will be defined in one table. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Michael Turquette <mturquette@baylibre.com>