Commit graph

21 commits

Author SHA1 Message Date
Alexandre Belloni 620f503322 ARM: at91/dt: use syscon for PMC
The PMC is not only used to drive the clocks but also has some registers
related to other functions. One of those is for example the USB gadget
bias.
Using a syscon allows to properly separate those functions.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2015-10-19 17:57:41 +02:00
Alexandre Belloni 547eab90f9 ARM: at91/dt: at91sam9261: use slow clock where necessary
The watchdog, the reset controller, the real-time timer, the shutdown
controller and the timer counter need the slow clock, add it where
necessary.

Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2015-08-07 11:58:16 +02:00
Boris Brezillon f80737082c ARM: at91/dt: remove useless usb clock
The ohci driver now calls clk_set_rate on the uhpck clock (which forwards
set_rate requests to its parent: the usb clock).
Remove useless references to usb clocks from ohci definitions.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-05-22 11:11:33 +02:00
Alexandre Belloni 8c07f664a6 ARM: at91/dt: introduce atmel,<chip>-dbgu
The DBGU is not a simple UART and we need to be able to distinguish it from the
other UARTs, in particular to get its address and check the chip id.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-13 15:11:04 +01:00
Boris Brezillon 70a9beaa07 ARM: at91/dt: fix at91 udc compatible strings
The at91rm9200, at91sam9260, at91sam9261 and at91sam9263 SoCs have slightly
different UDC IPs.
Those differences were previously handled with cpu_is_at91xx macro which
are about to be dropped for multi-platform support, thus we need to
change compatible strings.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-11 15:49:46 +01:00
Boris Brezillon ea1c98b336 ARM: at91/dt: declare matrix node as a syscon device
There is no specific driver handling the AHB matrix, this is a simple syscon
device. the matrix is needed by several other drivers including the USB on some
SoCs (at91sam9261 for instance).
Without this definition, the USB will not work on these SoCs.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-11 15:47:02 +01:00
Boris Brezillon 05d6a08847 ARM: at91/dt: at91sam9261: fix clocks and clock-names in udc definition
Peripheral clock is named pclk and system clock is named hclk (those are
the names expected by the at91_udc driver).

Drop the deprecated usb_clk (formerly used to configure the usb clock rate
which is now directly configurable through hclk).

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-03-09 12:28:09 +01:00
Alexandre Belloni f04660e48b ARM: at91/dt: add SRAM nodes
Add nodes for the SRAM available on atmel SoCs
For the at91sam9260 and the at91sam9g20, address mirroring is used to create a
single contiguous SRAM range instead of declaring two separate banks.

Also remove leftover TODOs in the sam9g45 file

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
[nicolas.ferre@atmel.com: correct at91sam9rl sram size => 0x10000]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2015-01-15 15:32:30 +01:00
Boris Brezillon 1ff3beca55 ARM: at91/dt: add GPBR nodes
Add GPBR (General Purpose Block Backup Registers) nodes.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-11-19 15:08:51 +01:00
Boris Brezillon 9b5a067507 ARM: at91/dt: add RTT nodes to at91 dtsis
at91sam926x, at91sam9g45 and at91sam9rl SoCs all have at least one RTT
block.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-11-19 15:08:50 +01:00
Alexandre Belloni 73b173e5c5 ARM: at91/dt: sam9261 crystals under the clocks node
Having clocks grouped in a subnode is common practice, so move the crystals
under a clocks node for the at91sam9261 SoC and at91sam9261 based boards.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-07-09 18:02:43 +02:00
Alexandre Belloni 971dc9ce10 ARM: at91/dt: sam9261: remove slow RC osc
The at91sam9261 doesn't actually have a slow RC oscillator, remove it from the
dtsi.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-06-25 18:00:17 +02:00
Alexandre Belloni 5de4728450 ARM: at91/dt: sam9261: correctly define mainck
mainck (CKGR_MCFR register) is actually using main_osc (CKGR_MOR register).

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-06-25 17:50:08 +02:00
Arnd Bergmann 77579afc35 3.16 third DT series:
- move of both at91sam9n12 and at91sam9x5 to CCF
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJTfiDHAAoJEAf03oE53VmQvwwIAIH1xvudF1FqO9D9gj2SAHON
 n9dEhlvWUmmA2xUiDuNwEgmycsJnWW69VIWZT38SKD68Mu09hgsPhVbw4c27KIBy
 izcbC70v/lHpSIYOHEy2kJXuViQM0iuMCvsFuIGuxr9BMJLyY4yJpfqgW3635xMS
 FDAzM6+F6QZ7bd6BwkJHMkXcYXb5lh1v8bio9O8e4gM/p7O+7ei212nRUp9WaV+6
 elp9Ki3KpAMFBBntBQPLoZ1Qpxu1GqGuCk8fmVypP+t4PO0pJWycpN2tAb/dwAZ1
 /MqtLy9+vAd3lnPl/ch8uNnTafOeVuQI8rvrSW+/BtNMC8TakghfC10U2CcwLPM=
 =7Ccm
 -----END PGP SIGNATURE-----

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

3.16 third DT series:
- move of both at91sam9n12 and at91sam9x5 to CCF

* tag 'at91-dt3' of git://github.com/at91linux/linux-at91:
  ARM: at91: move sam9n12 SoC to the CCF
  ARM: at91/dt: define sam9n12ek crystal frequencies
  ARM: at91/dt: define sam9n12 clocks
  ARM: at91: prepare common clk transition for sam9n12 SoC
  ARM: at91: move sam9x5 SoCs to the CCF
  ARM: at91/dt: define sam9x5ek's crystal frequencies
  ARM: at91/dt: define sam9x5 clocks
  ARM: at91: prepare common clk transition for sam9x5 SoCs
  dt-bindings: clock: Move at91.h to dt-bindigs/clock
  ARM: at91: fix spi cs on sama5d3 Xplained board

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-05-23 23:02:49 +02:00
Arnd Bergmann d5cd8605e2 Merge branch 'at91/cleanup' into next/dt
Conflicts:
	arch/arm/boot/dts/at91sam9rl.dtsi

Needed as a dependency for the at91/dt2 branch

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-05-23 23:02:30 +02:00
Nicolas Ferre 6a84872a3c Merge branch 'at91-3.16-cleanup' into at91-3.16-dt3 2014-05-22 18:01:22 +02:00
Alexandre Belloni 32da8c8502 ARM: at91/dt: sam9261: Add ssc2, SSC clocks and pcks
Add ssc2 support, ssc2 pinctrl and clocks for the three SSCs.
Also add support for the programmable clocks.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-05-12 16:48:51 +02:00
Alexandre Belloni b105918629 ARM: at91/dt: sam9261: Fix PLL output ranges and other clocks divisors
Argument 3 (OUT) and 4 (ICPLL) of the atmel,pll-clk-output-ranges were missing.
Also, the at91sam9261 doesn't really have a by 3 divisor.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-05-12 16:48:51 +02:00
Boris BREZILLON 884fb7d07b ARM: at91/dt: move at91sam9261 SoC to the new main clock model
Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Jean-Jacques HIBLOT <jjhiblot@traphandler.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-05-07 18:27:55 +02:00
Tushar Behera 35d35aae81 dt-bindings: clock: Move at91.h to dt-bindigs/clock
Most of the clock related dt-binding header files are located in
dt-bindings/clock folder. It would be good to keep all the similar
header files at a single location.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
CC: Rob Landley <rob@landley.net>
CC: Andrew Victor <linux@maxim.org.za>
CC: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Acked-by: Boris BREZILLON <b.brezillon.dev@gmail.com>
[nicolas.ferre@atmel.com: add new at91sam9261 & at91sam9rl]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-04-18 23:44:52 +02:00
Jean-Jacques Hiblot 360ccb309a ARM: at91: dt: Add at91sam9261 dt SoC support
This patch adds support for the Device Tree on a sam9261-based platform

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-03-12 14:30:22 +01:00