clk: at91: add PMC pll clocks
authorBoris BREZILLON <b.brezillon@overkiz.com>
Fri, 11 Oct 2013 08:48:26 +0000 (10:48 +0200)
committerNicolas Ferre <nicolas.ferre@atmel.com>
Mon, 2 Dec 2013 14:31:22 +0000 (15:31 +0100)
commit1a748d2bc5061b72588013a720645661345c0e65
treee27047e6a1437f2cdc3a737d0472f629d0e9f7ca
parent38d34c3120b5588e2bd561baa4c5cfef1a4917bb
clk: at91: add PMC pll clocks

This patch adds new at91 pll clock implementation using common clk framework.

The pll clock layout describe the PLLX register layout.
There are four pll clock layouts:
- at91rm9200
- at91sam9g20
- at91sam9g45
- sama5d3

PLL clocks are given characteristics:
- min/max clock source rate
- ranges of valid clock output rates
- values to set in out and icpll fields for each supported output range

These characteristics are checked during rate change to avoid
over/underclocking.

These characteristics are described in atmel's SoC datasheet in
"Electrical Characteristics" paragraph.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
drivers/clk/at91/Makefile
drivers/clk/at91/clk-pll.c [new file with mode: 0644]
drivers/clk/at91/clk-plldiv.c [new file with mode: 0644]
drivers/clk/at91/pmc.c
drivers/clk/at91/pmc.h
include/linux/clk/at91_pmc.h