Commit Graph

34 Commits

Author SHA1 Message Date
Nishanth Menon
eb08c33f9f ARM: dts: keystone*: Use a single soc0 instance
Provide a soc0 node and reference the same to simplify dts. This also
resolves the following warnings when built with W=1:
arch/arm/boot/dts/keystone-k2hk-evm.dtb: Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
arch/arm/boot/dts/keystone-k2l-evm.dtb: Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
arch/arm/boot/dts/keystone-k2e-evm.dtb: Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
arch/arm/boot/dts/keystone-k2g-evm.dtb: Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name
arch/arm/boot/dts/keystone-k2g-ice.dtb: Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name

NOTE: Though we can reformat files by reducing 1 level of indent due to
the use of soc0 phandle, we omit that change to prevent un-necessary
churn in code base.

Reported-by: Rob Herring <robh@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2017-12-16 14:36:56 -08:00
Nishanth Menon
d6392ae36b ARM: dts: keystone*: Standardize license with SPDX tag
Standardize the licenses with SPDX license tag and standardize TI's
copyright statement to be consistently after file description.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2017-12-16 14:36:56 -08:00
Franklin S Cooper Jr
a8c0961b90 ARM: dts: k2g: Add UART 1 and 2 instances
Add DT nodes for two other UART instances of 66AK2G SoC.

Also add power domain and clock domain nodes to UART 0

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2017-12-06 09:52:38 -08:00
Vignesh R
aabed2ad1d ARM: dts: keystone-k2g: Move ti,non-removable property to board dts
On 66AK2G EVM mmc1 is connected to emmc whereas 66AK2G ICE baord has SD
card slot connected to mmc1. Therefore move emmc specific
ti,non-removable property from SoC file to EVM's dts file.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2017-12-02 19:33:56 -08:00
Vignesh R
13fc30c7e1 ARM: dts: keystone-k2g: Add QSPI DT entry
Add DT node for Cadence QSPI IP present in 66AK2G SoC.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2017-12-02 19:33:55 -08:00
Arnd Bergmann
b51c5cb56f ARM: Keystone DTS update for 4.15
- McASP support for K2G EVM
 - I2C support for K2G EVM
 - USB support for K2G EVM
 - SPI & SPI NOR flash support for K2G EVM
 - ECAP PWM support for K2G EVM
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJZ6p7IAAoJEHJsHOdBp5c/jYgP/1iNiLSP4lIQeSjleJKt21+z
 Sw62wLC5zJH8DxgOyUX+0p6pH5GpETTekVaIXQTT9h9JVFchleehDsFh5UHGcF+N
 Q+B02DvDbHMSOrqYZ0JJWerKQqghS63NIPAfT+Loj0v8j7w3/iYeUQCb+aVHBlzx
 /SYOfKi6C/7TzfDFnAurmsJ7jvIVLc3kKQlWLhraT/tSTsnfoOMflZnVzbcH2e1S
 melKPVMiO5BSGoXZsMV+xI5AHNt88z4t0/cRVJo/xXXFbtn2JNWvL3Pwuk/6e2fm
 dMDK4JQkaXNzgS07Szuxo1S1IE7+3Jl23o0nIHfmZkQ9ArgQZQH0AA+ZQqIgcSms
 bUbWQCsgfYPbbOp0VLBPc5SiW/YoGLGhNe59zwK+x0d0EuXZNgoToUthpr01SJA8
 YeRROa7ZAIEB+5D3is4H1c44t1tjGZekp+0ssIQAoU/c2X8MfcX8MqC8MceBEUOI
 69JyM+u/AswLP6Kczvc/2KK9JbtKXwQwjbCbuvUHd5XM4wPKfvrWFfryfV09R6n2
 /62QPULVGTwZJWN/FRisjRj3lUdamCzzNZ6uJSD8nfiAcQ4rOdzMQcv7K3BBuv87
 FWq+NkOTR/1I3kXAjhNBJszZjrir/+Tu3rQ6F5LsoSl9Zx+LkPzt1BMvfEANJ5IF
 8O7wxB3qu9sgPOrd+0Lc
 =ynA8
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Pull "ARM: Keystone DTS update for 4.15" from Santosh Shilimkar:

- McASP support for K2G EVM
- I2C support for K2G EVM
- USB support for K2G EVM
- SPI & SPI NOR flash support for K2G EVM
- ECAP PWM support for K2G EVM

* tag 'keystone_dts_for_4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2g-evm: add bindings for SPI NOR flash
  ARM: dts: keystone-k2g: Add SPI nodes
  ARM: dts: keystone-k2g-evm: Enable PWM ECAP0
  ARM: dts: keystone-k2g: Add ECAP PWM DT nodes
  ARM: dts: k2g-evm: Enable USB 0 and 1
  ARM: dts: k2g: Add USB instances
  ARM: dts: keystone-k2g-evm: Add I2C EEPROM DT entry
  ARM: dts: keystone-k2g: Add I2C nodes
  ARM: dts: keystone-k2g: Add McASP nodes
2017-10-30 13:16:33 +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
Vitaly Andrianov
729ce96967 ARM: dts: keystone-k2g: Add SPI nodes
Add nodes for the various SPI instances.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-10-10 09:42:49 -07:00
Vignesh R
a9ccafd0a3 ARM: dts: keystone-k2g: Add ECAP PWM DT nodes
Add DT nodes for PWM ECAP IP present on 66AK2G SoC.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-10-10 09:42:37 -07:00
Vitaly Andrianov
252402aa37 ARM: dts: k2g: Add USB instances
Add nodes for both USB instances supported by 66AK2G.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-10-10 09:41:21 -07:00
Vitaly Andrianov
d0dfe5defd ARM: dts: keystone-k2g: Add I2C nodes
Add nodes for the various I2C instances.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-10-10 09:41:20 -07:00
Peter Ujfalusi
55fe38f0c0 ARM: dts: keystone-k2g: Add McASP nodes
Add three McASP nodes present on 66AK2G device.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-10-10 09:41:20 -07:00
Suman Anna
a1b7cb92b4 ARM: dts: keystone-k2g: Add DSP node
The Keystone 2 66AK2G SoC has a single TMS320C66x DSP Core
Subsystem (C66x CorePac), containing a C66x Fixed/Floating-Point
DSP Core, and 32 KB of L1P & L1D SRAMs and a 1 MB L2 SRAM. Add
the DT node for this DSP processor sub-system.

The DT node has a new property 'power-domains' and no 'clocks'
properties, and uses slightly different property values for
'resets' compared to other Keystone 2 SoCs. The processor does
not have an MMU, and uses various IPC Generation registers and
shared memory for inter-processor communication. The alias with
a stem 'rproc' has also been added for the DSP, it provides a
fixed remoteproc id for the DSP processor.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-12 10:58:10 -07:00
Lokesh Vutla
2ff9612fb5 ARM: dts: k2g: Add DCAN nodes
Add nodes for the two DCAN instances included in 66AK2G

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[d-gerlach@ti.com: add power-domains and clock information]
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
[fcooper@ti.com: update subject and commit message. Misc minor updates]
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-10 09:50:15 -07:00
Lokesh Vutla
9529de63a4 ARM: dts: keystone-k2g: add MMC0 and MMC1 nodes
Add device tree nodes for MMC0 and MMC1 pesent
on 66AK2G device.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[nsekhar@ti.com: fix clock-names for mmc1 node]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-07 06:36:08 -07:00
Peter Ujfalusi
f8d4416b82 ARM: dts: keystone-k2g: Add eDMA nodes
Add nodes for eDMA0 and eDMA1.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-07 06:33:53 -07:00
Keerthy
87b7c3acc5 ARM: dts: keystone-k2g: Add gpio nodes
66AK2G has 2 instances of gpio. The first one has all the 144 GPIOs
functional. 9 banks with 16 gpios making a total of 144. The second
instance has only the GPIO0:GPIO67 functional and rest are marked
reserved.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-08-07 06:22:29 -07:00
Andrew F. Davis
45b08b032a ARM: dts: keystone-k2g: Add TI SCI reset-controller node
Add a reset-controller node for managing resets of various
remote processor devices on the SoC over the Texas Instrument's
System Control Interface (TI SCI) protocol.

Signed-off-by: Andrew F. Davis <afd@ti.com>
[s-anna@ti.com: rename node name, drop obsolete header]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-21 09:38:37 -07:00
Tero Kristo
a0a220b687 ARM: dts: keystone-k2g: Add ti-sci clock provider node
Add a ti-sci node representing the clock provider in the system.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-21 09:38:37 -07:00
Dave Gerlach
2557a28938 ARM: dts: keystone-k2g: Add ti-sci power domain node
Add a ti-sci k2g_pds node to act as our generic power domain provider
in the system.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-21 09:38:37 -07:00
Nishanth Menon
e39aacf6b2 ARM: dts: keystone-k2g: Add PMMC node to support TI-SCI protocol
Texas Instrument's System Control Interface (TI-SCI) Message Protocol
is implemented in Keystone 2 generation 66AK2G SoC with the PMMC entity.

Add the ti-sci node representing this 66AK2G PMMC module.

Signed-off-by: Nishanth Menon <nm@ti.com>
[s-anna@ti.com: add unit address to DT node]
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-21 09:38:36 -07:00
Franklin S Cooper Jr
f402573fc0 ARM: dts: keystone-k2g: Remove skeleton.dtsi
Adding the unit address to the memory node was causing the below error:
Warning (reg_format): "reg" property in /memory has invalid length
(8 bytes) (#address-cells == 2, #size-cells == 2)

Further debugging showed that this was due to the memory node added by
default to skeleton.dtsi which was being included in keystone-k2g.dtsi.
Adding a missing node was all that was needed to remove this deprecated
dtsi file from the SoC dtsi. With skeleton.dtsi removed the dtc compiler
no longer complained about including the unit address for the memory node.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-05-21 22:46:56 -07:00
Marc Zyngier
387720c938 ARM: DTS: Fix register map for virt-capable GIC
Since everybody copied my own mistake from the DT binding example,
let's address all the offenders in one swift go.

Most of them got the CPU interface size wrong (4kB, while it should
be 8kB), except for both keystone platforms which got the control
interface wrong (4kB instead of 8kB).

In a few cases where I knew for sure what implementation was used,
I've added the "arm,gic-400" compatible string. I'm 99% sure that
this is what everyone is using, but short of having the TRM for
all the other SoCs, I've left them alone.

Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-02-07 15:06:46 +01:00
Suman Anna
b3511c9e52 ARM: dts: keystone-k2g: Reserve MSM RAM for boot monitor
The Keystone 2 boot monitor uses 32 KB of the MSM RAM @ 0x0c0f7000
on 66AK2G SoCs, so add a reserved child node for the same.

This address is aligned to the values used within the latest boot
monitor firmware [1] as of commit cf8b431e8b3b ("soc: Move load
address to end of MSMC").

[1] git://git.ti.com/processor-firmware/ks2-boot-monitor.git

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-01-07 12:33:08 -08:00
Suman Anna
b6f922ab52 ARM: dts: keystone-k2g: Add MSM RAM node
Add the RAM managed by the Multicore Shared Memory Controller (MSMC)
as a mmio-sram node. The 66AK2G SoCs have 1 MB of such memory. Any
specific MSM memory range needed by a software module ought to be
reserved using an appropriate child node.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-01-07 12:33:08 -08:00
David Lechner
1dd5581354 ARM: dts: keystone: Add "ti,da830-uart" compatible string
The TI Keystone SoCs have extra UART registers beyond the standard 8250
registers, so we need a new compatible string to indicate this. Also, at
least one of these registers uses the full 32 bits, so we need to specify
reg-io-width in addition to reg-shift.

"ns16550a" is left in the compatible specification since it does work as
long as the bootloader configures the SoC UART power management registers.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-01-06 11:07:01 -08:00
Tony Lindgren
be76fd3197 ARM: dts: Add #pinctrl-cells for pinctrl-single instances
Drivers using pinctrl-single,pins have #pinctrl-cells = <1>, while
pinctrl-single,bits need #pinctrl-cells = <2>.

Note that this patch can be optionally applied separately from the
driver changes as the driver supports also the legacy binding without
#pinctrl-cells.

Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-11-07 08:27:49 -07:00
Nishanth Menon
11b897a2f7 ARM: dts: keystone-k2g: Add Message Manager node
Introduce the message manager node for the A15 queues on which Linux
runs. The Message Manager is primarily used for communication with
Power Management controller on K2G.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-08-31 16:32:16 -04:00
Andrew F. Davis
e0f0b54c02 ARM: dts: keystone-k2g: Add DSP GPIO controller node
Add the DSP GPIO controller node on K2G SoC.
This is used to send interrupts to the only DSP processor
subsystem present on the SoC. The IP is identical to that
of the equivalent nodes on existing K2 SoCs.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-08-31 16:29:59 -04:00
Andrew F. Davis
0884b1b338 ARM: dts: keystone-k2g: Add keystone IRQ controller node
Add the Keystone IRQ controller IP node on K2G SoC. This allows the
ARM CorePac core to receive interrupts from remote processor devices
(eg: DSP) on the SoC.

The IP is identical in functionality to that of the equivalent
nodes on existing K2 SoCs. The only difference is the ARM INTC
interrupt id/event number.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-08-31 16:29:59 -04:00
Andrew F. Davis
08fa198ded ARM: dts: keystone-k2g: Add device state controller node
Add the device state controller node as a syscon node to the
K2G SoC. This module provides similar device control functionality
as that on the existing K2 SoCs.

One example usage would be the boot address programming of the
DSP processor sub-system.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-08-31 16:29:59 -04:00
Lokesh Vutla
eb53a15b1a ARM: dts: keystone: Header file for pinctrl constants
The pinctrl IP used in some of the Keystone 2 devices differ vs other
TI SoCs. Therefore, create a Keystone specific pinctrl header.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-06-09 09:40:21 -07:00
Vitaly Andrianov
fb25225919 ARM: dts: k2g: Add pinctrl support
Add pinctrl support.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-06-09 09:40:21 -07:00
Vitaly Andrianov
734539eaf4 ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
K2G is the newest addition of TI's Keystone 2 product family. It is a
single core Cortex A15 and a C66x DSP.

K2G supports standard peripherals such as SPI, UART, MMC and USB 2.0.

Includes two dual-core Programmable Real-time Unit and Industrial
Communication Subsystems (PRU-ICSS).

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

This device is targeted for a variety of applications which include, but
are not limited to:

Home audio
Professional audio
Industrial Programmable Logic Control

The peripheral nodes that have been included in this patch have been
tested during bring-up. Since all peripherals will not necessarily be
used on all boards, disable all peripherals by default. This allow
the board dts to selectively choose which peripherals it wants to
enable.

This SoC now uses the next generation of power management architecture
with the PM functionality located in a microcontroller embedded in the SOC.

Support for this new PM architecture along with other peripherals will be
added in future patches.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:25:35 -08:00