Commit Graph

412968 Commits

Author SHA1 Message Date
Olof Johansson
8f2d751a9e AT91 crypto drivers DT support:
- add DT to sha/des/aes existing drivers
 - add DMA DT
 - all documentation added to crypto/atmel-crypto.txt file
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSqfkKAAoJEAf03oE53VmQpHoH/2OnDX5C3hqXXL1r3p6JjRLP
 B2xDO2iZcB340HrobInN0FONXVCA2b8yNy2G+U421sNjklivT4o9+66tiwBBQlbS
 uoYU95CgeBs5dU1iM8Z5cIRFphEZdKDAJDd0RABUEcVPa+w569nyi5V29rwzH0UZ
 hnW0IzUtJqo9344dfBai9cRcVOjrJHfiqB+05PUWb12KFbLaQhqQLL1Z5b0XasB/
 9htaMxuXMXhflP7m+JY0+uVlFTOJliY9zUMN/bOqT2VBrl2tt1xLW7nooM57dB3y
 +wK1A+mhYHQgEgVm1U6X3+LUluitwyA+yw2Ybf6Yi/T+3tzMjeiknfHfUB5afMY=
 =JTE6
 -----END PGP SIGNATURE-----

Merge tag 'at91-drivers' of git://github.com/at91linux/linux-at91 into next/drivers

From Nicolas Ferre:

AT91 crypto drivers DT support:
- add DT to sha/des/aes existing drivers
- add DMA DT
- all documentation added to crypto/atmel-crypto.txt file

* tag 'at91-drivers' of git://github.com/at91linux/linux-at91:
  crypto: atmel-sha - add sha information to the log
  crypto: atmel-sha - add support for Device Tree
  crypto: atmel-tdes - add support for Device Tree
  crypto: atmel-aes - add support for Device Tree

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-12-22 11:42:50 -08:00
Olof Johansson
958c025a2a Merge branch 'at91/dt' into next/drivers
Merging at91/dt as a prereq for the at91/drivers code.

* at91/dt: (43 commits)
  ARM: at91/at91rm9200ek.dts: rearrange nodes in address ascending order
  ARM: at91: dt: at91rm9200ek: add emac and nor flash support
  ARM: at91: add uart aliases to sama5d3 dtsi
  ARM: at91: add i2c2 pinctrl speficifation to sama5d3 DT
  ARM: at91: Animeo IP: fix mtd partition table
  ARM: at91: at91sam9g45: add i2c pinctrl
  ARM: at91: at91sam9g45: set default mmc pinctrl-names
  ARM: at91: sama5d3: enable qt1070 as a wakeup source
  ARM: at91: add support for Cosino board series by HCE Engineering
  ARM: at91/dt/sama5d3: add DMA information to SHA/AES/TDES nodes
  ARM: at91/dt/trivial: before sama5d3, Atmel MPU were using at91 prefix
  ARM: at91/dt/trivial: use macro for AES irq type
  ARM: at91: sam9263ek: add dt lcd support
  ARM: at91: at9sam9m10g45ek: add dt lcd support
  ARM: at91: sam9263: add fb dt support
  ARM: at91: sam9g45: add fb dt support
  ARM: at91/dt: binding: add missing compatibility string in SDRAM/DDR documentation
  ARM: at91/dt: binding: add precision to AIC documentation
  ARM: at91/dt: add atmel,pullup-gpio to at91rm9200ek usb1 definition
  ARM: at91/dt: add ethernet phy to at91rm9200ek board
  ...
2013-12-22 11:42:30 -08:00
Kevin Hilman
ddf20397eb Renesas USB r8a66597 HCD update for v3.14
Convert to clk_prepare/unprepare
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSqmKJAAoJENfPZGlqN0++eHkP/0sQu2JtMbIUQu83KhbHysJY
 m6jhQpWfxFy9rPpCb68jeyIUrbqVpTzPtUmqpcr76gUNonISDu381VYRiVdKpYuY
 hUH0lf1pt1Mr4fLLtf6ll5GwJbp+G4KjuwMYvAuQIjX5NiPAJiiG5w2ZXVIPOlqw
 trFCCoV6Tn6lXHwYK5nzRZxtadywrYgXE99SVvvPzUolIWIPUY3tWcHpWk0gFFGj
 SlYrrVycvzAWt26wLIIP/u9IwmnrjPrPT3ZBIlmb4/QV9JyySj+ayJknZJU7fVzy
 cSVY/c+GTWr4PPcRWShaTOx5Eo2HyjnkK8Ja7Tl/NQr4ZE18MjkRBXSPYFnSU9km
 bWV0p5zk3TGFMKKQsiH6papHZQ4Tabz5dSYhV83D526Hww+8/4tfaCaKb2WY/tfv
 wqNRFg2cSHIT0zkN9es2ZhocEIvmT06SqqkA+z0TItVHytntPAfwjB2CZ7gn0AHZ
 QB6D8zwysugHKWoDotwz2fUVK64fyS+ApaKbiQK/kv91zTirw9zPwU9e/wO4M0cb
 /EW8svqqHSVtxndFEuWI09gMqEseMTkC2V1nJnrTS5oqXzuRHv3+Oxf2wOGpaWs+
 F1ASkB7cWqAwMoVjKqXHbhlaz/YAZjHgsOxf+w6VGKIMJlWkf9WtPLN7KM5WAMzi
 uXdABVHQUx003jXTbrpl
 =5h73
 -----END PGP SIGNATURE-----

Merge tag 'renesas-usb-r8a66597-hcd-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/drivers

From Simon Horman:
Renesas USB r8a66597 HCD update for v3.14

Convert to clk_prepare/unprepare

* tag 'renesas-usb-r8a66597-hcd-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  usb: r8a66597-hcd: Convert to clk_prepare/unprepare

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-12-20 11:23:31 -08:00
Nicolas Ferre
1ca5b7d953 crypto: atmel-sha - add sha information to the log
Depending on peripheral capabilities, print SHA information at the end
of the probe function.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-12-12 18:39:36 +01:00
Nicolas Ferre
abfe7ae407 crypto: atmel-sha - add support for Device Tree
Add support for Device Tree and use of the DMA DT API to
get the channels if needed.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-12-12 18:39:36 +01:00
Nicolas Ferre
84c8976b64 crypto: atmel-tdes - add support for Device Tree
Add support for Device Tree and use of the DMA DT API to
get the channels if needed.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-12-12 18:39:35 +01:00
Nicolas Ferre
be943c7d27 crypto: atmel-aes - add support for Device Tree
Add support for Device Tree and use of the DMA DT API to
get the needed channels.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-12-12 18:39:35 +01:00
Nicolas Ferre
ca594844e4 ARM: at91/at91rm9200ek.dts: rearrange nodes in address ascending order
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Boris BREZILLON <b.brezillon@overkiz.com>
2013-12-09 15:08:57 +01:00
Jean-Christophe PLAGNIOL-VILLARD
c8b3cc56b7 ARM: at91: dt: at91rm9200ek: add emac and nor flash support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre@atmel.com: remove one macb node too many]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 14:34:05 +01:00
Nicolas Ferre
ac0585cad0 ARM: at91: add uart aliases to sama5d3 dtsi
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by Boris BREZILLON <b.brezillon@overkiz.com>
2013-12-09 11:10:14 +01:00
Nicolas Ferre
557844ecc0 ARM: at91: add i2c2 pinctrl speficifation to sama5d3 DT
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Boris BREZILLON <b.brezillon@overkiz.com>
2013-12-09 11:10:14 +01:00
Jean-Christophe PLAGNIOL-VILLARD
2f8e458204 ARM: at91: Animeo IP: fix mtd partition table
Update to production one.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:13 +01:00
Ludovic Desroches
cd127e1d99 ARM: at91: at91sam9g45: add i2c pinctrl
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:13 +01:00
Ludovic Desroches
0645b93f6c ARM: at91: at91sam9g45: set default mmc pinctrl-names
pinctrl-names property was missing from mmc nodes.

Cc: <stable@vger.kernel.org> #3.11+
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:12 +01:00
Bo Shen
c1463f68bf ARM: at91: sama5d3: enable qt1070 as a wakeup source
Enable qt1070 keyboard as a wakeup source on sama5d3xek board.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:12 +01:00
Rodolfo Giometti
470e891b06 ARM: at91: add support for Cosino board series by HCE Engineering
This patch adds the Cosino at91sam9g35 based CPU module and the
Cosino Mega 2560 extension board.

Web site: http://www.cosino.it

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
[plagnioj@jcrosoft.com: added "at91-" to files, pinctrl fixed, removed unneeded stuff]
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre@atmel.com: adapted to newer kernel, modified commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:11 +01:00
Nicolas Ferre
9860c515c1 ARM: at91/dt/sama5d3: add DMA information to SHA/AES/TDES nodes
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:11 +01:00
Nicolas Ferre
c76f266d97 ARM: at91/dt/trivial: before sama5d3, Atmel MPU were using at91 prefix
Change the sha/aes/tdes compatibility string to match common
case for the at91sam9g45 family which is to keep the at91 prefix.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:11 +01:00
Nicolas Ferre
07f7d503e3 ARM: at91/dt/trivial: use macro for AES irq type
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:10 +01:00
Jean-Christophe PLAGNIOL-VILLARD
510e37831e ARM: at91: sam9263ek: add dt lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:10 +01:00
Jean-Christophe PLAGNIOL-VILLARD
f4390a798f ARM: at91: at9sam9m10g45ek: add dt lcd support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:09 +01:00
Jean-Christophe PLAGNIOL-VILLARD
f8a0d79376 ARM: at91: sam9263: add fb dt support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:09 +01:00
Jean-Christophe PLAGNIOL-VILLARD
ddee65b331 ARM: at91: sam9g45: add fb dt support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:08 +01:00
Nicolas Ferre
20b4e4fa84 ARM: at91/dt: binding: add missing compatibility string in SDRAM/DDR documentation
The "atmel,at91rm9200-sdramc" was missing from binding documentation.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-12-09 11:10:08 +01:00
Nicolas Ferre
28c9a8b357 ARM: at91/dt: binding: add precision to AIC documentation
In response to the "undocumented compatible strings" message, here is a
patch which is adding the precision of two "chips" that should be used for
the "atmel,<chip>-aic" compatibility string.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-12-09 11:10:07 +01:00
Boris BREZILLON
a7704b7ffc ARM: at91/dt: add atmel,pullup-gpio to at91rm9200ek usb1 definition
Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:10:00 +01:00
Boris BREZILLON
44fa054e08 ARM: at91/dt: add ethernet phy to at91rm9200ek board
Add ethernet phy node in at91rm9200ek.dts.
The reg register is not specified, as it may differ depending on the init
process of the board:
ADDR0/1 phy pins are connected to PA13/14 rm9200 pins. Which means the phy
will take its address from these pins during the reset process.

The macb driver will launch a full scan on the mdio bus to discover the phy
address.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
[nicolas.ferre@atmel.com: changed to IRQ_TYPE_EDGE_BOTH as asked by Boris]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-09 11:07:16 +01:00
Nicolas Ferre
5cffba20f0 ARM: at91/trivial: fix at91rm9200 rts/cts pinctrl definitions
Swap names as they were improperly defined.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2013-12-09 11:07:15 +01:00
Olof Johansson
d167e1f0c1 ARM: s3c64xx: Convert to dmaengine
This series of commits from Tomasz converting s3c64xx to use dmaengine
 rather than the old s3c-dma API missed the v3.13 merge window - Kukjin
 said that he'd applied it (which should mean it's OK from a review point
 of view) but it didn't make it into -next or a pull request.
 
 Since a s3c64xx based system is one of my primary development platforms
 it'd be really helpful if I could merge this into both ASoC and SPI,
 I've got some patches for ASoC ready to go converting to use dmaengine
 directly which help with multiplatform and there's some other dmaengine
 work for SPI in progress too.  I've therefore made this signed tag, it'd
 be great if it could be merged into both arm-soc and those two trees.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSkhCrAAoJELSic+t+oim9M94QAIa66yB6KNENlZ8Oolb7ApFT
 vDg3x7j5yb5zaiuw1BQGgF6OPNUqFw9PNbbET56vBjcEIqBd9hXOH5AOanomxFgc
 TsOWjIF54ceyUPK4CfE55s6LnJzMmjRr5qAjnvfXnKtuR7Wr4Mw+RDS4Wqp2vFuH
 gviHwirlZ1KoqvaCBEWmgokTJ8HXMV1sTZkKa+whhFXxl/Z9Yq3ke9lrFCC535vS
 1Abtgl6keIiEA/Kk4GKzzldiMccyLUZ83xSwesZSrMk6LclnYJLEcD+Y9JqJ//Xt
 Sd6QiS4NCVa4EjTjjZpF5+1HS2ceeMKX8SHG2TEPw0sbCIFZfjc5DHyv2AaSyY47
 UE7/1z7kHpnT4QwMLToGmaZ1UR8KtaSGT7jIfA9gbNEt7diADlVv4hfWyj2laW/U
 q+3nu0P/WvYw0V0D8hXs8Ju18UYG/LTGQgjDtjzMe1XUbXQAwu/3U7A9lkaawGhS
 s/0TUdqm8xXcMv95pP71Vka7UrhBR2MZZ8o9arPtEwfHDh/Yc+FAWW5AteEBpHgK
 PfyjqV90BTAi4HrsEv3YpSRJX8PGo8VTCPUl1nLwfTPopYF1tUvYTIFvx+xrfM7T
 +rQ+nXRyiMY5lkoNnHYN+jI0fjR8zf2YThXJ62E4BEcnkJnux0tYnouXCSVnDPnh
 1bLsMGCZWIeMx1LQLy3F
 =B6Tk
 -----END PGP SIGNATURE-----

Merge tag 's3c64xx-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into next/drivers

From Tomasz Figa via Mark Brown:
ARM: s3c64xx: Convert to dmaengine

This series of commits from Tomasz converting s3c64xx to use dmaengine
rather than the old s3c-dma API missed the v3.13 merge window - Kukjin
said that he'd applied it (which should mean it's OK from a review point
of view) but it didn't make it into -next or a pull request.

Since a s3c64xx based system is one of my primary development platforms
it'd be really helpful if I could merge this into both ASoC and SPI,
I've got some patches for ASoC ready to go converting to use dmaengine
directly which help with multiplatform and there's some other dmaengine
work for SPI in progress too.  I've therefore made this signed tag, it'd
be great if it could be merged into both arm-soc and those two trees.

* tag 's3c64xx-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
  spi: s3c64xx: Always select S3C64XX_PL080 when ARCH_S3C64XX is enabled
  clk: samsung: s3c64xx: Remove clock aliases of old DMA driver
  ARM: s3c64xx: Remove legacy DMA driver
  clk: samsung: s3c64xx: Add aliases for DMA clocks
  ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver
  spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-12-04 13:38:20 -08:00
Olof Johansson
5c74822588 mvebu driver changes for v3.14
- mvebu-mbus:
     - remove potential forever loop
     - remove deprecated comment
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJSm6frAAoJEP45WPkGe8ZnlOcP/1Kd4778tvP9rKWkOYEsIFIB
 +uC/aDKKhQDLOgh19Hp2/ePIN5XWIZKBN7B7JrPaxJJ8QJpOur8EAFexVmFX767H
 6pV51xQQJToePeQi1/kLUTmj8COBMz2B1HzXQVSwQz4PiQFx7N5w4x4QZ3GD+mh2
 y5vg3a3GkDo6UHxscEjGUxjnj0m9zIPc12eHNSkfdHPuSG5xwpuu47oSZ7BSHVv9
 56p64zkwV4TwwfumyDf8HBOIy3Y8Di+fQUVWkuDEJDBIpMW2teyUjGBZUUXxtDL7
 j1xAf05URgnNjeeBmuuSead5sjVjqeW9xozUoSCBwRpfh5f6wGLfrU0+n/aKL5Mc
 vZ7DEIxww1F21YsDN/aYZA1+oAIjuXsuUVgoG1lqF7PFL8fnBR5M0aQUPj23Hc5T
 LfKEX8CrM3HyE/Ol2/q+Cj1sSHcw/3ewTAO/Nzp0/Aq1eC/eIlhXOKpcBCCFWOzq
 YRzxOJh/P+yu/NrS2hMZUG5BOKxavSCOqI/7Kt81b94hPCOo9/Tg61JoJXPOqh/m
 zt4b/LUVhvgbf5f0oqDTwa6aKVlsEmL4dtYta94Yw9Xsh7xVzUgsdtxrhIw43IPA
 fUVMN3ELESrARl+82wNSXqHY2siC4984TPOToEl1kPPbSzgbvmzq4hoPRHUe1A8X
 ByTMdM/dmh0q33ftExFs
 =tNyU
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-drivers-3.14' of git://git.infradead.org/linux-mvebu into next/drivers

From Jason Cooper:
mvebu driver changes for v3.14

 - mvebu-mbus:
    - remove potential forever loop
    - remove deprecated comment

* tag 'mvebu-drivers-3.14' of git://git.infradead.org/linux-mvebu:
  bus: mvebu-mbus: Remove deprecated comment
  bus: mvebu-mbus: potential forever loop in mvebu_mbus_init()

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-12-03 17:10:38 -08:00
Boris BREZILLON
b46e837d8e ARM: at91/dt: remove old clk material
This patch removes the old main clk node which is now useless as sama5d3
SoCs and boards are no longer compatible with the old at91 clk
implementations.

It also remove old clock definitions (clock definitions using at91 old clk
framework).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:29 +01:00
Boris BREZILLON
8ab033112a ARM: at91: move sama5d3 SoC to common clk
This patch removes the selection of AT91_USE_OLD_CLK when selecting sama5d3
SoC support. This will enable automatically enable COMMON_CLK_AT91 option
and add support for at91 common clk implementation.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:29 +01:00
Boris BREZILLON
72163e5ab5 ARM: at91/dt: define sama5d3xek's main clk frequency
Define the main clock frequency for the new main clock node
in sama5d3xcm.dtsi.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:29 +01:00
Boris BREZILLON
d2e8190b79 ARM: at91/dt: define sama5d3 clocks
Define sama5d3 clocks in sama5d3 device tree.
Add references to the appropriate clocks in each peripheral.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:28 +01:00
Boris BREZILLON
d1ff230022 ARM: at91: prepare common clk transition for sama5d3 SoC
This patch encloses sama5d3 old clk registration in
"#if defined(CONFIG_OLD_CLK_AT91) #endif" sections.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:28 +01:00
Boris BREZILLON
d4d24c1b4f ARM: at91: prepare sama5 dt boards transition to common clk
This patch prepare the transition to common clk for sama5 dt boards by
replacing the timer init callback.

Clocks registration cannot be done in early init callback (as formerly done
by the old clk implementation) because it requires dynamic allocation
which is not ready yet during early init.

In the other hand, at91 clocks must be registered before
at91sam926x_pit_init is called because PIT (Periodic Interval Timer) driver
request the master clk (mck).

A new function (at91sama5_dt_timer_init) is created to fullfil these needs.
This function registers all at91 clks using the dt definition before
calling the PIT init function.
The device tree clock registration is enabled only if common clk is
selected. Else the old clk registration is been done during
at91_dt_initialize call.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-12-02 15:31:27 +01:00
Boris BREZILLON
c59b631517 ARM: at91: add new compatible strings for pmc driver
This patch adds new compatible string for PMC node to prepare the
transition to common clk.

These compatible string come from pmc driver in clk subsystem and are
needed to provide new device tree compatibility with old at91 clks
(device tree using common clks will use the new compatible strings).

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>
2013-12-02 15:31:27 +01:00
Boris BREZILLON
7034be876e ARM: at91: move pit timer to common clk framework
Use device tree to get the source clock of the PIT (Periodic Interval Timer).
If the clock is not found in device tree (or dt is not enabled) we'll try to
get it using clk_lookup definitions.

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>
2013-12-02 15:31:26 +01:00
Boris BREZILLON
32f955c6da dt: binding: add at91 clks dt bindings documentation
This patch adds new at91 clks dt bindings documentation.

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>
2013-12-02 15:31:26 +01:00
Boris BREZILLON
a9c0688fde clk: at91: add PMC smd clock
This patch adds at91 smd (Soft Modem) clock implementation using common clk
framework.

Not used by any driver right now.

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>
2013-12-02 15:31:25 +01:00
Boris BREZILLON
c84a61d872 clk: at91: add PMC usb clock
This patch adds new at91 usb clock implementation using common clk framework.
This clock is used to clock usb ports (ohci, ehci and udc).

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>
2013-12-02 15:31:25 +01:00
Boris BREZILLON
f090fb37de clk: at91: add PMC utmi clock
This adds new at91 utmi clock implementation using common clk framework.

This clock is a pll with a fixed factor (x40).
It is used as a source for usb clock.

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>
2013-12-02 15:31:25 +01:00
Boris BREZILLON
1f22f8bb64 clk: at91: add PMC programmable clocks
This patch adds new at91 programmable clocks implementation using common clk
framework.
A programmable clock is a clock which can be exported on a given pin to clock
external devices.
Each programmable clock is given an id (from 0 to 8).
The number of available programmable clocks depends on the SoC you're using.
Programmable clock driver only implements the clock setting (clock rate and
parent setting). It must be chained to a system clock in order to
enable/disable the generated clock.
The PCKX pins used to output the clock signals must be assigned to the
appropriate peripheral (see atmel's datasheets).

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>
2013-12-02 15:31:24 +01:00
Boris BREZILLON
6114067e43 clk: at91: add PMC peripheral clocks
This patch adds new at91 peripheral clock implementation using common clk
framework.

Almost all peripherals provided by at91 SoCs need a clock to work properly.
This clock is enabled/disabled using PCER/PCDR resgisters.

Each peripheral is given an id (see atmel's datasheets) which is used to
define and reference peripheral clocks.

Some new SoCs (at91sam9x5 and sama5d3) provide a new register (PCR) where you
can configure the peripheral clock as a division of the master clock.
This will help reducing the peripherals power comsumption.

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>
2013-12-02 15:31:24 +01:00
Boris BREZILLON
5fba62ea26 clk: at91: add PMC system clocks
This patch adds new at91 system clock implementation using common clk
framework.

Some peripherals need to enable a "system" clock in order to work properly.
Each system clock is given an id based on the bit position in SCER/SCDR
registers.

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>
2013-12-02 15:31:23 +01:00
Boris BREZILLON
e442d23440 clk: at91: add PMC master clock
This patch adds new at91 master clock implementation using common clk
framework.

The master clock layout describe the MCKR register layout.
There are 2 master clock layouts:
- at91rm9200
- at91sam9x5

Master clocks are given characteristics:
- min/max clock output rate

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>
2013-12-02 15:31:23 +01:00
Boris BREZILLON
1a748d2bc5 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>
2013-12-02 15:31:22 +01:00
Boris BREZILLON
38d34c3120 clk: at91: add PMC main clock
This patch adds new at91 main oscillator clock implementation using common
clk framework.

If rate is not provided during clock registration it is calculated using
the slow clock (main clk parent in this case) rate and MCFR register.

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>
2013-12-02 15:31:22 +01:00
Boris BREZILLON
7e682b4437 clk: at91: add PMC macro file for dt definitions
This patch adds a new macro file for PMC macros.

This macro file includes the definitions of SR (status register) bit
offsets and will be use to reference PMC irqs.

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>
2013-12-02 15:31:21 +01:00
Boris BREZILLON
0ad6125b15 clk: at91: add PMC base support
This patch adds at91 PMC (Power Management Controller) base support.

All at91 clocks managed by the PMC unit will use this framework.

This framework provides the following fonctionalities:
- define a new struct at91_pmc to hide PMC internals (lock, PMC memory
  mapping, irq domain, ...)
- read/write helper functions (pmc_read/write) to access PMC registers
- lock/unlock helper functions (pmc_lock/unlock) to lock/unlock access to
  pmc registers
- a new irq domain and its associated irq chip to request PMC specific
  interrupts (useful for clk prepare callbacks)

The PMC unit is declared as a dt clk provider (CLK_OF_DECLARE), and every
clk using this framework will declare a table of of_at91_clk_init_cb_t
and add it to the pmc_clk_ids table.

When the pmc dt clock setup function is called (by of_clk_init function),
it triggers the registration of every supported child clk (those matching
the definitions in pmc_clk_ids).

This patch copies at91_pmc_base (memory mapping) and at91sam9_idle
(function) from arch/arm/mach-at91/clock.c (which is not compiled if
COMMON_CLK_AT91 is enabled).

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>
2013-12-02 15:31:13 +01:00