Commit Graph

35 Commits

Author SHA1 Message Date
Ingo van Lil
9d39d86cd4 ARM: dts: at91: Reenable UART TX pull-ups
Pull-ups for SAM9 UART/USART TX lines were disabled in a previous
commit. However, several chips in the SAM9 family require pull-ups to
prevent the TX lines from falling (and causing an endless break
condition) when the transceiver is disabled.

From the SAM9G20 datasheet, 32.5.1: "To prevent the TXD line from
falling when the USART is disabled, the use of an internal pull up
is mandatory.". This commit reenables the pull-ups for all chips having
that sentence in their datasheets.

Fixes: 5e04822f7d ("ARM: dts: at91: fixes uart pinctrl, set pullup on rx, clear pullup on tx")
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Cc: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20191203142147.875227-1-inguin@gmx.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2019-12-10 11:57:08 +01:00
Thomas Gleixner
84e5653610 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 190
Based on 1 normalized pattern(s):

  licensed under gplv2 only

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 10 file(s).

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Richard Fontana <rfontana@redhat.com>
Reviewed-by: Steve Winslow <swinslow@gmail.com>
Reviewed-by: Allison Randal <allison@lohutok.net>
Reviewed-by: Alexios Zavras <alexios.zavras@intel.com>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190528170027.071422096@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-30 11:29:21 -07:00
Rob Herring
abe60a3a7a ARM: dts: Kill off skeleton{64}.dtsi
Remove the usage of skeleton.dtsi in the remaining dts files. It was
deprecated since commit 9c0da3cc61 ("ARM: dts: explicitly mark
skeleton.dtsi as deprecated"). This will make adding a unit-address to
memory nodes easier.

The main tricky part to removing skeleton.dtsi is we could end up with
no /memory node at all when a bootloader depends on one being present. I
hacked up dtc to check for this condition.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Acked-by: Antoine Tenart <antoine.tenart@bootlin.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Tested-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Tested-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-01-30 17:30:31 +01:00
Alexandre Belloni
7637d42cb1 ARM: dts: at91: at91sam9261: switch to new clock bindings
Switch at91sam9261 boards to the new PMC clock bindings.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-11-21 11:58:49 +01:00
Alexandre Belloni
59ef2671a8 ARM: dts: fix PMC compatible
Make each SoC dtsi use its soc specific PMc compatible string. This solves
a potential issue on at91sam9261 and at91sam9263 when using suspend to RAM

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-06-20 11:50:28 +02:00
Peter Rosin
5e04822f7d ARM: dts: at91: fixes uart pinctrl, set pullup on rx, clear pullup on tx
Remove pullup on uart TX signals, they are push-pull outputs thus
pullups are pointless.

Add pullup on uart RX signals, they prevent the RX signals to be left
floating and so consuming a useless extra amount of power in crowbarred
state if nothing is connected to RX.

Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2018-03-21 21:46:59 +01:00
Alexandre Belloni
194ce525fb ARM: dts: at91: at91sam9261: TC blocks are also simple-mfd and syscon devices
Add simple-mfd and syscon to the TC blocks to allow to register one of the
channels as clocksource properly at boot time and free up the remaining
channels for other use.

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-12-31 15:50:06 +01:00
Mathieu Malaterre
ed4ced0c00 ARM: dts: at91: Remove leading 0x and 0s from bindings notation
Improve the DTS files by removing all the leading "0x" and zeros to fix the
following dtc warnings:

Warning (unit_address_format): Node /XXX unit name should not have leading "0x"

and

Warning (unit_address_format): Node /XXX unit name should not have leading 0s

Converted using the following command:

find . -type f \( -iname *.dts -o -iname *.dtsi \) -exec sed -i -e "s/@\([0-9a-fA-FxX\.;:#]+\)\s*{/@\L\1 {/g" -e "s/@0x\(.*\) {/@\1 {/g" -e "s/@0+\(.*\) {/@\1 {/g" {} +^C

For simplicity, two sed expressions were used to solve each warnings separately.

To make the regex expression more robust a few other issues were resolved,
namely setting unit-address to lower case, and adding a whitespace before the
the opening curly brace:

https://elinux.org/Device_Tree_Linux#Linux_conventions

This will solve as a side effect warning:

Warning (simple_bus_reg): Node /XXX@<UPPER> simple-bus unit address format error, expected "<lower>"

This is a follow up to commit 4c9847b737 ("dt-bindings: Remove leading 0x from bindings notation")

Reported-by: David Daney <ddaney@caviumnetworks.com>
Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-12-31 15:49:59 +01:00
Rob Herring
8dccafaa28 arm: dts: fix unit-address leading 0s
Fix dtc warnings for 'simple_bus_reg' due to leading 0s. Converted using
the following command:

perl -p -i -e 's/\@0+([0-9a-f])/\@$1/g' `find arch/arm/boot/dts -type -f -name '*.dts*'

Dropped changes to ARM, Ltd. boards LED nodes and manually fixed up some
occurrences of uppercase hex.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-10-20 00:37:54 +02:00
Boris Brezillon
1004a2977b ARM: dts: at91: Switch to the new NAND bindings
Use the new EBI/NAND bindings to declare NAND chips and remove old NAND
nodes along the way.

Note that we keep using old bindings in at91rm9200.dtsi because this
SoC is not supported by the EBI driver.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Tested-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-05-31 11:55:41 +02:00
Boris Brezillon
d9c41bf30c ARM: dts: at91: Declare EBI/NAND controllers
Declare new nodes for the EBI and NAND controllers embedded in various
at91/sama5 SoCs.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-05-31 11:55:33 +02:00
Boris Brezillon
8682827f66 ARM: dts: at91: Fix matrix compatible
The matrix node was defined before the documentation for the bus
matrix configuration was submitted. Patch the device tree to match
the DT doc.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-03-05 23:36:59 +01:00
Sylvain Rochet
138c2b2f17 ARM: dts: at91: fixes dbgu pinctrl, set pullup on rx, clear pullup on tx
Remove pullup on dbgu DTXD signal, it is a push-pull output thus the
pullup is pointless.

Add pullup on dbgu DRXD signal, it prevents the DRXD signal to be left
floating and so consuming a useless extra amount of power in crowbarred
state if nothing is externally connected to dbgu.

Signed-off-by: Sylvain Rochet <sylvain.rochet@finsecur.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-10-20 17:37:18 +02:00
Alexandre Belloni
e152e3f7f4 ARM: dts: at91: fix i2c-gpio node name
i2c-gpio doesn't need a reg property. Change the node names to i2c-gpio-x
as used in other dts to remove the unit-address.

Solves:
Warning (unit_address_vs_reg): Node /i2c@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@2 has a unit name, but no reg property

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-07-15 11:23:44 +02:00
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