]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ti-linux-kernel/ti-linux-kernel-next.git/log
ti-linux-kernel/ti-linux-kernel-next.git
4 years agoMerge branch 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti... ti-linux-4.19.y-next-20190613
LCPD Auto Merger [Thu, 13 Jun 2019 07:26:32 +0000 (02:26 -0500)]
Merge branch 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti-linux-kernel into ti-linux-4.19.y-next

TI-Feature: kishon_next
TI-Tree: git://git.ti.com/linux-phy/kishons-ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y-for-next

* 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti-linux-kernel:
  ARM: dts: k2e-evm: enable PCIe on port 1
  ARM: dts: keystone-k2e: Use the updated binding to describe PCIe in k2e
  ARM: keystone: dts: add PCI serdes driver bindings

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg into ti...
LCPD Auto Merger [Thu, 13 Jun 2019 07:26:30 +0000 (02:26 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg into ti-linux-4.19.y-next

TI-Feature: rpmsg_next
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.19.y-next

* 'rpmsg-ti-linux-4.19.y-next' of git://git.ti.com/rpmsg/rpmsg:
  remoteproc: Add a sysfs interface for name
  soc: ti: pruss: update pruss_get() to retrieve a PRUSS id
  soc: ti: pruss: store the pruss instance id
  net: ethernet: ti: prueth: Stop building prueth on K3 platforms

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
LCPD Auto Merger [Wed, 12 Jun 2019 20:38:34 +0000 (15:38 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  arm64: dts: am654-base-board: Reserve memory for jailhouse
  mm: Re-export ioremap_page_range
  arm, arm64: export __hyp_stub_vectors

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Wed, 12 Jun 2019 15:26:04 +0000 (10:26 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  arm: dts: add am335x-boneblack-prusuart.dts
  serial: add pru software uart (pru_suart) driver
  dt-bindings: serial: add binding documentation for TI PRU software UART
  arm64: dts: ti: k3-j721e-common-proc-board: Add QSPI DT node
  arm64: dts: ti: k3-j721e-som-p0: Add OSPI flash node
  arm64: dts: ti: k3-j721e: Add FSS DT nodes
  dt-bindings: cadence-quadspi: Add compatible for J721E SoC

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: am654-base-board: Reserve memory for jailhouse
Lokesh Vutla [Tue, 11 Jun 2019 06:36:39 +0000 (12:06 +0530)]
arm64: dts: am654-base-board: Reserve memory for jailhouse

This has to be in sync with jailhouse cell configurations.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agomm: Re-export ioremap_page_range
Jan Kiszka [Tue, 11 Jun 2019 06:36:38 +0000 (12:06 +0530)]
mm: Re-export ioremap_page_range

We need this in Jailhouse to map at specific virtual addresses, at
least for the moment.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm, arm64: export __hyp_stub_vectors
Ralf Ramsauer [Tue, 11 Jun 2019 06:36:37 +0000 (12:06 +0530)]
arm, arm64: export __hyp_stub_vectors

HVC_GET_VECTORS got removed. External hypervisors, like Jailhouse, need
this address when they are deactivated, in order to restore original
state.

Signed-off-by: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
[t-kristo@ti.com: moved the export clauses under arm*ksyms.c to avoid build
 failures]
Signed-off-by: Tero Kristo <t-kristo@ti.com>
4 years agoarm: dts: add am335x-boneblack-prusuart.dts
Bin Liu [Thu, 16 May 2019 16:09:39 +0000 (11:09 -0500)]
arm: dts: add am335x-boneblack-prusuart.dts

This adds dts support for PRU software-based UART on Beaglebone Black.

Cc: Jason Reeder <jreeder@ti.com>
Acked-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoserial: add pru software uart (pru_suart) driver
Bin Liu [Thu, 16 May 2019 16:09:38 +0000 (11:09 -0500)]
serial: add pru software uart (pru_suart) driver

This adds a new serial driver that supports the PRU software based UART.
With the current version of the PRU UART firmware (v1.0), up to three UART
ports are supported per PRU core. Each character is two bytes in the FIFO.
Hardware flow control is supported if CTS/RTS pins are defined, but
software flow control is not.

Cc: Jason Reeder <jreeder@ti.com>
Acked-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: serial: add binding documentation for TI PRU software UART
Bin Liu [Thu, 16 May 2019 16:09:37 +0000 (11:09 -0500)]
dt-bindings: serial: add binding documentation for TI PRU software UART

This adds dt bindings for PRU software based UART on TI SoCs.

Acked-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-common-proc-board: Add QSPI DT node
Vignesh Raghavendra [Mon, 10 Jun 2019 17:58:54 +0000 (23:28 +0530)]
arm64: dts: ti: k3-j721e-common-proc-board: Add QSPI DT node

J721e EVM has a QSPI MT25Q flash connected to OSPI1. Add DT nodes for
the same.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-som-p0: Add OSPI flash node
Vignesh Raghavendra [Mon, 10 Jun 2019 17:58:53 +0000 (23:28 +0530)]
arm64: dts: ti: k3-j721e-som-p0: Add OSPI flash node

J721e SoM board contains MT35x Octal flash similar to AM654 EVM. Add
pinmux and flash DT node for the same.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add FSS DT nodes
Vignesh Raghavendra [Mon, 10 Jun 2019 17:58:52 +0000 (23:28 +0530)]
arm64: dts: ti: k3-j721e: Add FSS DT nodes

J721e SoC has same Flash Subsystem as AM654 with two OSPI flash
controllers. Add DT nodes for the same.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: cadence-quadspi: Add compatible for J721E SoC
Vignesh Raghavendra [Mon, 10 Jun 2019 17:58:51 +0000 (23:28 +0530)]
dt-bindings: cadence-quadspi: Add compatible for J721E SoC

Add compatible for OSPI on J721E SoC.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Wed, 12 Jun 2019 07:39:10 +0000 (02:39 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree:
  arm64: dts: Add k3-j721e-common-proc-board-infotainment.dtso
  arm64: dts: ti: k3-j721e-main.dtsi: Add DSS nodes
  drm/tidss: dispc7: Add support for j721e DSS
  dt-bindings: display/ti: Add ti,j7-dss binding document
  drm/tidss: add 8/10 bit gamma support
  drm/tidss: improve clock related prints
  drm/tidss: fix handling of no-PM case
  drm/bridge: tfp410: fix use of cancel_delayed_work_sync
  drm/bridge: tfp410: fix memleak in get_modes()

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: Add k3-j721e-common-proc-board-infotainment.dtso
Benoit Parrot [Fri, 31 May 2019 18:34:57 +0000 (13:34 -0500)]
arm64: dts: Add k3-j721e-common-proc-board-infotainment.dtso

Add support for TFP410 HDMI bridge located on the Infotainment Expansion
Board (connected to J46 & J51).

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main.dtsi: Add DSS nodes
Jyri Sarha [Wed, 30 Jan 2019 10:58:11 +0000 (12:58 +0200)]
arm64: dts: ti: k3-j721e-main.dtsi: Add DSS nodes

Add nodes for J721E DSS.

The DSS related clock muxes are set via assigned-clocks in a way which
provides us:

VP0 - DisplayPort SST
VP1 - DPI0
VP2 - DSI
VP3 - DPI1

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/tidss: dispc7: Add support for j721e DSS
Jyri Sarha [Wed, 29 May 2019 13:08:12 +0000 (16:08 +0300)]
drm/tidss: dispc7: Add support for j721e DSS

This patch adds support for DSS on J721E, which is a SoC in Texas
Instruments Keystone 3 family.

J721E DSS is DSS7, similarly to AM6. However, the J721E DSS7 is an
extended version, and while the basic features are the same, there are
multiple differences. Some of the features/differences are:

- 4 videoports
- 4 planes (2 of the "lite", without scaling)
- Support up to 8k displays
- 2 DPI outputs
- DisplayPort and DSI support (implemented separately as DRM bridge
  drivers).
- No OLDI
- Support for DSS videport/plane sharing between different CPU cores

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodt-bindings: display/ti: Add ti,j7-dss binding document
Jyri Sarha [Wed, 29 May 2019 13:08:11 +0000 (16:08 +0300)]
dt-bindings: display/ti: Add ti,j7-dss binding document

Add j721e DSS binding document.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/tidss: add 8/10 bit gamma support
Tomi Valkeinen [Mon, 10 Jun 2019 09:09:30 +0000 (12:09 +0300)]
drm/tidss: add 8/10 bit gamma support

J721E DSS has 10 bit gamma support, instead of 8 bit as K2G and AM6
does.

To prepare for J721E DSS, add support for the two different types of
gamma tables.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/tidss: improve clock related prints
Tomi Valkeinen [Fri, 17 May 2019 08:55:19 +0000 (11:55 +0300)]
drm/tidss: improve clock related prints

Add videoport number to some clock related prints.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/tidss: fix handling of no-PM case
Jyri Sarha [Thu, 18 Apr 2019 08:39:50 +0000 (11:39 +0300)]
drm/tidss: fix handling of no-PM case

If the kernel is configured without PM, runtime PM calls will be no-ops.
However, the tidss driver relies on runtime PM resume and suspend to
function properly.

We have a special case inside #ifdefs to manually call the runtime
resume and suspend so that the driver initializes correctly.

However, the driver is checking against CONFIG_PM_SLEEP, which is not
correct. This patch fixes the check to be against CONFIG_PM.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/bridge: tfp410: fix use of cancel_delayed_work_sync
Tomi Valkeinen [Mon, 18 Mar 2019 09:39:15 +0000 (11:39 +0200)]
drm/bridge: tfp410: fix use of cancel_delayed_work_sync

We use delayed_work in HPD handling, and cancel any scheduled work in
tfp410_fini using cancel_delayed_work_sync(). However, we have only
initialized the delayed work if we actually have a HPD interrupt
configured in the DT, but in the tfp410_fini, we always cancel the work,
possibly causing a WARN().

Fix this by doing the cancel only if we actually had the delayed work
set up.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agodrm/bridge: tfp410: fix memleak in get_modes()
Tomi Valkeinen [Mon, 10 Jun 2019 11:55:18 +0000 (14:55 +0300)]
drm/bridge: tfp410: fix memleak in get_modes()

We don't free the edid blob allocated by the call to drm_get_edid(),
causing a memleak. Fix this by calling kfree(edid) at the end of the
get_modes().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg into ti...
LCPD Auto Merger [Tue, 11 Jun 2019 23:38:06 +0000 (18:38 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg into ti-linux-4.19.y

TI-Feature: rpmsg
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.19.y-intg

* 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg:
  soc: ti: pruss: Rename pruss_regmap_read()/update() API
  soc: ti: pruss: Drop MII-RT management from PRUSS driver
  soc: ti: pruss: Remove stale iep variable
  irqchip/irq-pruss-intc: Use bitmap to simplify event configuration

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoremoteproc: Add a sysfs interface for name
Suman Anna [Wed, 13 Mar 2019 19:13:31 +0000 (14:13 -0500)]
remoteproc: Add a sysfs interface for name

This patch adds a sysfs interface that provides the name of the
remote processor to userspace. This allows the userspace to identify
a remote processor as the remoteproc devices themselves are created
based on probe order and can change from one boot to another or
at runtime.

The name is made available in debugfs originally, and is being
retained for now. This can be cleaned up after couple of releases
once users get familiar with the new interface.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: update pruss_get() to retrieve a PRUSS id
Suman Anna [Fri, 3 May 2019 00:06:26 +0000 (19:06 -0500)]
soc: ti: pruss: update pruss_get() to retrieve a PRUSS id

Update the pruss_get() function to take in an additional integer
pointer argument in which the PRUSS instance id is filled in and
provided back to the callers. This allows the drivers to add some
instance-specific logic/customization in their code, as the PRUSS
handle is not useful to build this logic.

The already existing usage within both the regular PRU Ethernet
and the ICSSG PRU Ethernet drivers have also been updated accordingly,
and this will cater to its need for supporting switching between
different Ethernet protocols dynamically per instance.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: store the pruss instance id
Suman Anna [Thu, 2 May 2019 22:18:05 +0000 (17:18 -0500)]
soc: ti: pruss: store the pruss instance id

Add logic to the PRUSS platform driver to store the instance id
of a PRUSS instance. This is being added to enable support for
the PRU Ethernet driver to be able to switch between different
Ethernet protocols dynamically per instance.

The values for instance ids are not always zero-indexed on all
SoCs, they were chosen to match the numbering used in the TRMs.
The instance ids are computed assigned using the PRUSS memory
region base address lookup table. The base address matching
logic is not robust for long-term for newer SoCs, but is okay
for currently supported SoCs as all the addresses are unique.
This is done this way to retain the current usage of minimal
static data and to avoid having to introduce the instance
specific static data just for the instance id data.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agonet: ethernet: ti: prueth: Stop building prueth on K3 platforms
Suman Anna [Fri, 3 May 2019 00:21:19 +0000 (19:21 -0500)]
net: ethernet: ti: prueth: Stop building prueth on K3 platforms

The PRU Ethernet driver is only applicable for SoCs containing a
PRUSS subsystem, and there is a separate equivalent driver for
SoCs containing the next generation ICSSG subsystem. The driver
currently depends on PRU_REMOTEPROC which is also enabled for TI
K3 family of SoCs, and therefore is getting built for TI K3 platforms
as well. Add an additional Kconfig dependency so that the driver
is not built for K3 platforms.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti...
Suman Anna [Tue, 11 Jun 2019 22:27:18 +0000 (17:27 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti-linux-4.19.y-intg

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti...
Suman Anna [Tue, 11 Jun 2019 21:49:38 +0000 (16:49 -0500)]
Merge branch 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti-linux-4.19.y

Pull in the dedicated AM65x remoteproc topic branch that drops the
MII-RT management from the PRUSS platform driver and some cleanup
in the PRUSS INTC platform drivers. The pruss_regmap_read() and
pruss_regmap_update() API are also cleaned up and renamed to
pruss_cfg_read() and pruss_cfg_update() respectively.

* 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc:
  soc: ti: pruss: Rename pruss_regmap_read()/update() API
  soc: ti: pruss: Drop MII-RT management from PRUSS driver
  soc: ti: pruss: Remove stale iep variable
  irqchip/irq-pruss-intc: Use bitmap to simplify event configuration

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: Rename pruss_regmap_read()/update() API
Suman Anna [Fri, 7 Jun 2019 21:42:43 +0000 (16:42 -0500)]
soc: ti: pruss: Rename pruss_regmap_read()/update() API

The pruss_regmap_read() and pruss_regmap_update() API were designed
to support reading and updating any of the registers within the
CFG, MII-RT or IEP sub-modules. The management of MII-RT and IEP
submodules is dropped from the PRUSS platform driver, so simplify
the functionality of these functions to just deal with the CFG
sub-module. Both the functions have been renamed appropriately to
pruss_cfg_read() and pruss_cfg_update(), and all existing callsites
updated accordingly.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: Drop MII-RT management from PRUSS driver
Suman Anna [Fri, 3 May 2019 19:50:01 +0000 (14:50 -0500)]
soc: ti: pruss: Drop MII-RT management from PRUSS driver

The MII-RT sub-module is represented as a syscon node and is
managed by the PRUSS platform driver at the moment. The usage
of MII-RT is limited to PRU Ethernet drivers, and so makes sense
to manage this sub-module by those drivers directly. So, drop
the code from the PRUSS platform driver that deals with parsing
of the mii-rt DT nodes or providing an API wrapper for accessing
any registers within this sub-module.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agosoc: ti: pruss: Remove stale iep variable
Suman Anna [Thu, 2 May 2019 15:45:40 +0000 (10:45 -0500)]
soc: ti: pruss: Remove stale iep variable

The commit 7cff1bbab114 ("soc: ti: pruss: Drop IEP management from
PRUSS driver") has removed the management of IEP from PRUSS platform
driver, but missed cleaning up the iep variable. Drop this variable
from the pruss structure.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoirqchip/irq-pruss-intc: Use bitmap to simplify event configuration
Suman Anna [Sat, 8 Jun 2019 05:42:40 +0000 (05:42 +0000)]
irqchip/irq-pruss-intc: Use bitmap to simplify event configuration

Simplify the PRUSS System Event management code to use the bitmap API in
the pruss_intc_configure() and pruss_intc_unconfigure() functions.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Andrew F. Davis <afd@ti.com>
4 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Tue, 11 Jun 2019 15:04:03 +0000 (10:04 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  arm64: dts: j721e-common-proc-board: enable pps support for mcu cpsw cpts
  arm64: dts: ti: j721e-main: add timesync_router node
  arm64: dts: ti: j721e-main: add main navss cpts node
  net: ethernet: ti: am65-cpts: add support for J721E SoC
  dt-binding: net: ti: am654-cpts: add new compatible for J721E SoCs
  arm64: dts: ti: k3-j721e-common-proc-board: add mcu cpsw nuss pinmux and phy defs
  arm64: dts: ti: k3-j721e-mcu: add mcu cpsw nuss node
  arm64: dts: ti: k3-j721e-mcu: add scm node
  net: ethernet: ti: am65-cpsw-nuss: add support for J721E SoC
  dt-binding: net: ti: am654-cpsw: add new compatible for J721E SoCs
  net: ethernet: ti: am65-cpsw-nuss: use rnd mac addr if efuse is 0
  net: ethernet: ti: am65-cpts: fix boot without cpts_refclk_mux

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
LCPD Auto Merger [Tue, 11 Jun 2019 11:07:32 +0000 (06:07 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  soc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: j721e-common-proc-board: enable pps support for mcu cpsw cpts
Grygorii Strashko [Mon, 10 Jun 2019 13:25:54 +0000 (16:25 +0300)]
arm64: dts: j721e-common-proc-board: enable pps support for mcu cpsw cpts

Enable pps support for MCU CPSW CPTS by routing GenF1 output to
MCU_CPTS_HW4_PUSH input.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: j721e-main: add timesync_router node
Grygorii Strashko [Mon, 10 Jun 2019 13:25:53 +0000 (16:25 +0300)]
arm64: dts: ti: j721e-main: add timesync_router node

The Time Sync Event Router (TIMESYNC_INTRTR0) implements a set of
multiplexers to provide selection of active CPTS time sync events for
routing to CPTS capable modules.
The TIMESYNC_INTRTR0 module has the following configuration:
 â€¢ Number of input events: 55
 â€¢ Number of output events: 40
 â€¢ Event input type: Pulse

This patch adds DT node TIMESYNC_INTRTR0 using "pinctrl-single" bindings.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: j721e-main: add main navss cpts node
Grygorii Strashko [Mon, 10 Jun 2019 13:25:52 +0000 (16:25 +0300)]
arm64: dts: ti: j721e-main: add main navss cpts node

Add DT node for Main NAVSS CPTS module.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ethernet: ti: am65-cpts: add support for J721E SoC
Grygorii Strashko [Mon, 10 Jun 2019 13:25:51 +0000 (16:25 +0300)]
net: ethernet: ti: am65-cpts: add support for J721E SoC

The J721E SoC has the same Common platform time sync (CPTS) modules as TI
AM654 SoC. Hence, add support for J721E SoC.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-binding: net: ti: am654-cpts: add new compatible for J721E SoCs
Grygorii Strashko [Mon, 10 Jun 2019 13:25:50 +0000 (16:25 +0300)]
dt-binding: net: ti: am654-cpts: add new compatible for J721E SoCs

The J721E SoC has the same Common platform time sync (CPTS) modules as TI
AM654 SoC. Hence, add new compatible for J721E SoCs.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-common-proc-board: add mcu cpsw nuss pinmux and phy defs
Grygorii Strashko [Mon, 10 Jun 2019 13:25:49 +0000 (16:25 +0300)]
arm64: dts: ti: k3-j721e-common-proc-board: add mcu cpsw nuss pinmux and phy defs

The TI j721e EVM base board has TI DP83867 PHY connected to external CPSW
NUSS Port 1 in rgmii mode.

Hence, add pinmux and Ethernet PHY configuration for TI j721e SoC MCU
Gigabit Ethernet two ports Switch subsystem (CPSW NUSS).

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-mcu: add mcu cpsw nuss node
Grygorii Strashko [Mon, 10 Jun 2019 13:25:48 +0000 (16:25 +0300)]
arm64: dts: ti: k3-j721e-mcu: add mcu cpsw nuss node

Add DT node for The TI j721e MCU SoC Gigabit Ethernet two ports Switch
subsystem (MCU CPSW NUSS).

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-mcu: add scm node
Grygorii Strashko [Mon, 10 Jun 2019 13:25:47 +0000 (16:25 +0300)]
arm64: dts: ti: k3-j721e-mcu: add scm node

Add DT node for MCU System Control module DT node.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ethernet: ti: am65-cpsw-nuss: add support for J721E SoC
Grygorii Strashko [Mon, 10 Jun 2019 13:25:46 +0000 (16:25 +0300)]
net: ethernet: ti: am65-cpsw-nuss: add support for J721E SoC

The J721E SoC has the same MCU Gigabit Ethernet two ports Switch subsystem
(MCU CPSW NUSS) as TI AM654 SoC in general.
The difference:
 - J721E MCU CPSW NUSS has I2027 errata fixed.

Hence, add support for J721E MCU CPSW NUSS and use compatible string and
of_device_id table to define supported features.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-binding: net: ti: am654-cpsw: add new compatible for J721E SoCs
Grygorii Strashko [Mon, 10 Jun 2019 13:25:45 +0000 (16:25 +0300)]
dt-binding: net: ti: am654-cpsw: add new compatible for J721E SoCs

The J721E SoC has the same MCU Gigabit Ethernet two ports Switch subsystem
(MCU CPSW NUSS) as TI AM654 SoC in general.
The difference:
 - J721E MCU CPSW NUSS has I2027 errata fixed.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ethernet: ti: am65-cpsw-nuss: use rnd mac addr if efuse is 0
Grygorii Strashko [Mon, 10 Jun 2019 13:25:44 +0000 (16:25 +0300)]
net: ethernet: ti: am65-cpsw-nuss: use rnd mac addr if efuse is 0

Add additional check for MAC addr read from eFuse and use random
MAC addr if it's invalid.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agonet: ethernet: ti: am65-cpts: fix boot without cpts_refclk_mux
Grygorii Strashko [Mon, 10 Jun 2019 13:25:43 +0000 (16:25 +0300)]
net: ethernet: ti: am65-cpts: fix boot without cpts_refclk_mux

The TI J721E SoC has cpts_refclk_mux register moved into MCU
CTRL_MMR IO space and it's under control of TI SCI FW now.

Hence, fix MCU CPTS boot by allowing initialization without cpts_refclk_mux
node defined in DT.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
Dan Murphy [Mon, 10 Jun 2019 16:46:58 +0000 (11:46 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
  arm64: dts: ti: k3-j721e-common-proc-board: Add I2C GPIO expander nodes
  arm64: dts: ti: k3-j721e-mcu-wakeup: Add I2C nodes
  arm64: dts: ti: k3-j721e-main: Add I2C nodes
  dt-bindings: i2c: omap: Add new compatible for J721E SoCs

Signed-off-by: Dan Murphy <dmurphy@ti.com>
# Conflicts:
# arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi

4 years agosoc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one
Tero Kristo [Tue, 14 May 2019 19:38:19 +0000 (22:38 +0300)]
soc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one

Current implementation of the genpd support over TI SCI uses a single
genpd across the whole SoC, and attaches multiple devices to this. This
solution has its drawbacks, like it is currently impossible to attach
more than one power domain to a device; the core genpd implementation
requires one genpd per power-domain entry in DT for a single device.
Also, some devices like USB apparently require their own genpd during
probe time, the current shared approach in use does not work at all.

Switch the implementation over to use a single genpd per power domain
entry in DT. The domains are registered with the onecell approach, but
we also add our own xlate service due to recent introduction of the
extended flag for TI SCI PM domains; genpd core xlate service requires
a single cell per powerdomain, but we are using two cells.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
4 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
LCPD Auto Merger [Mon, 10 Jun 2019 12:33:10 +0000 (07:33 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  firmware: ti_sci: Parse all resource ranges even if some is not available
  arm64: dts: ti: k3-j721e-mcu-wakeup: Add PDMA nodes
  arm64: dts: ti: k3-j721e-main: Add PDMA nodes
  arm64: dts: ti: k3-j721e-mcu-wakeup: Add mcu NAVSS nodes for DMA support
  arm64: dts: ti: k3-j721e-main: Add main NAVSS nodes for DMA support
  dmaengine: ti: k3-udma: Add support for j721e
  dt-bindings: dma: ti: k3-udma: Update to include j721e UDMA

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: ti: k3-j721e-common-proc-board: Add I2C GPIO expander nodes
Vignesh Raghavendra [Wed, 5 Jun 2019 12:27:09 +0000 (17:57 +0530)]
arm64: dts: ti: k3-j721e-common-proc-board: Add I2C GPIO expander nodes

J721e common processor board has 5 I2C GPIO expanders. Add DT nodes for
the same.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-mcu-wakeup: Add I2C nodes
Peter Ujfalusi [Wed, 5 Jun 2019 12:27:08 +0000 (17:57 +0530)]
arm64: dts: ti: k3-j721e-mcu-wakeup: Add I2C nodes

Add the nodes for MCU_I2C0-1 and WKUP_I2C0.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[vigneshr@ti.com] Fix up WKUP_I2C0 power domain and MCUSS Ranges.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add I2C nodes
Peter Ujfalusi [Wed, 5 Jun 2019 12:27:07 +0000 (17:57 +0530)]
arm64: dts: ti: k3-j721e-main: Add I2C nodes

Add the nodes for I2C0-6 of main domin.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: i2c: omap: Add new compatible for J721E SoCs
Peter Ujfalusi [Wed, 5 Jun 2019 12:27:06 +0000 (17:57 +0530)]
dt-bindings: i2c: omap: Add new compatible for J721E SoCs

J721E SoCs have same I2C IP as OMAP SoCs. Add new compatible to
handle J721E SoCs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agofirmware: ti_sci: Parse all resource ranges even if some is not available
Peter Ujfalusi [Thu, 6 Jun 2019 12:19:28 +0000 (15:19 +0300)]
firmware: ti_sci: Parse all resource ranges even if some is not available

Do not fail if any of the requested subtypes are not availabe, but set the
number of resources to 0 and continue parsing the resource ranges.

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: ti: k3-j721e-mcu-wakeup: Add PDMA nodes
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:37 +0000 (09:58 +0300)]
arm64: dts: ti: k3-j721e-mcu-wakeup: Add PDMA nodes

Add the PDMA nodes needed for USART, SPI.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add PDMA nodes
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:36 +0000 (09:58 +0300)]
arm64: dts: ti: k3-j721e-main: Add PDMA nodes

Add the PDMA nodes needed for USART, SPI and McASP.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: ti: k3-j721e-mcu-wakeup: Add mcu NAVSS nodes for DMA support
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:35 +0000 (09:58 +0300)]
arm64: dts: ti: k3-j721e-mcu-wakeup: Add mcu NAVSS nodes for DMA support

Enable the UDMA support by adding and populating the mcu NAVSS.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add main NAVSS nodes for DMA support
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:34 +0000 (09:58 +0300)]
arm64: dts: ti: k3-j721e-main: Add main NAVSS nodes for DMA support

Enable the UDMA support by adding and populating the main NAVSS.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: Add support for j721e
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:33 +0000 (09:58 +0300)]
dmaengine: ti: k3-udma: Add support for j721e

The changes needed to support the UDMAP/PDMA on J721e:
- We have 3 performance levels for channels compared to 2 in am6
- The output event offset (oes) is changed in sysfw for rchans
- PDMA's staticTR Z is now larger
- PDMA have new fields: acc32 and burst.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodt-bindings: dma: ti: k3-udma: Update to include j721e UDMA
Peter Ujfalusi [Thu, 6 Jun 2019 06:58:32 +0000 (09:58 +0300)]
dt-bindings: dma: ti: k3-udma: Update to include j721e UDMA

Update the binding document for UDMAs found in j721e.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
Dan Murphy [Sat, 8 Jun 2019 15:41:33 +0000 (10:41 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  ti_config_fragments: v8_baseport: Enable ION driver
  ti_config_fragments: baseport: Enable ION driver
  staging: android: ion: Add ION driver for TI platforms
  dt-bindings: staging: android: ion: Add ti,ion binding doc
  staging: android: ion: Declare helpers for carveout and chunk heaps
  staging: android: ion: Allow heap name to be null
  staging: android: ion: Do not sync CPU cache on map/unmap
  dmaengine: ti: k3-navss-udma: reset tx/rx rt regs upon channel request
  arm64: dts: ti: k3-j721e: Add the MCU SRAM node
  arm64: dts: ti: k3-j721e-common-proc-board: Disable unused gpio modules
  arm64: dts: ti: k3-j721e: Add gpio nodes in wakeup domain
  arm64: dts: ti: k3-j721e: Add gpio nodes in main domain
  dt-bindings: gpio: davinci: Add new compatible for J721E SoCs
  arm64: dts: ti: k3-j721e: Add interrupt controllers in wakeup domain
  arm64: dts: ti: k3-j721e: Add interrupt controllers in main domain
  arm64: dts: ti: Update power-domain cells for uart 8

Signed-off-by: Dan Murphy <dmurphy@ti.com>
# Conflicts:
# arch/arm64/boot/dts/ti/k3-j721e-main.dtsi

4 years agoMerge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integrat...
LCPD Auto Merger [Thu, 6 Jun 2019 22:45:30 +0000 (17:45 -0500)]
Merge branch 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel into ti-linux-4.19.y

TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.19.y

* 'connectivity-ti-linux-4.19.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (23 commits)
  mmc: sdhci_am654: Fix DLL trim and driver strength configuration
  mmc: sdhci_am654: Fix SLOTTYPE write
  mmc: sdhci_am654: Print error message if the DLL fails to lock
  mmc: sdhci_am654: Improve line wrapping with regmap_*() calls
  ti_config_fragments: connectivity.cfg: Enable Cadence USB3 drivers
  usb: cdns3: Implement Idle state for Type-C
  usb: cdns3: make dynamic role switching work
  usb: cdns3: use phy power on/off
  usb: cdns3: Add TI specific wrapper driver
  dt-bindings: usb: Add binding for the TI wrapper for Cadence USB3 controller
  usb: cdns3: drd: print error on xhci/dev ready timeout
  usb: cdns3: drd: don't call drd_update_mode in drd_init()
  usb: cdns3: support separate IRQs for otg/xhci/dev
  usb:cdns3 Fix for stuck packets in on-chip OUT buffer.
  usb:cdns3 Add Cadence USB3 DRD Driver
  usb:common Simplify usb_decode_get_set_descriptor function.
  usb:common Patch simplify usb_decode_set_clear_feature function.
  usb:common Separated decoding functions from dwc3 driver.
  dt-bindings: add binding for USBSS-DRD controller.
  usb: dwc3: debug: purge usage of strcat
  ...

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoti_config_fragments: v8_baseport: Enable ION driver
Andrew F. Davis [Wed, 5 Jun 2019 16:01:16 +0000 (12:01 -0400)]
ti_config_fragments: v8_baseport: Enable ION driver

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoti_config_fragments: baseport: Enable ION driver
Andrew F. Davis [Wed, 5 Jun 2019 16:01:15 +0000 (12:01 -0400)]
ti_config_fragments: baseport: Enable ION driver

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agostaging: android: ion: Add ION driver for TI platforms
Andrew F. Davis [Wed, 5 Jun 2019 16:01:14 +0000 (12:01 -0400)]
staging: android: ion: Add ION driver for TI platforms

Add ION support for Texas Instruments platforms. Basic ION heaps for
TI platforms are defined in DT.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agodt-bindings: staging: android: ion: Add ti,ion binding doc
Andrew F. Davis [Wed, 5 Jun 2019 16:01:13 +0000 (12:01 -0400)]
dt-bindings: staging: android: ion: Add ti,ion binding doc

Add documentation for Texas Instruments SoCs ION node ti,ion.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agostaging: android: ion: Declare helpers for carveout and chunk heaps
Andrew F. Davis [Wed, 5 Jun 2019 16:01:12 +0000 (12:01 -0400)]
staging: android: ion: Declare helpers for carveout and chunk heaps

When enabled the helpers functions for creating carveout and chunk heaps
should have declarations in the ION header.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agostaging: android: ion: Allow heap name to be null
Andrew F. Davis [Wed, 5 Jun 2019 16:01:11 +0000 (12:01 -0400)]
staging: android: ion: Allow heap name to be null

The heap name can be used for debugging but otherwise does not seem
to be required and no other part of the code will fail if left NULL
except here. We can make it required and check for it at some point,
for now lets just prevent this from causing a NULL pointer exception.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agostaging: android: ion: Do not sync CPU cache on map/unmap
Andrew F. Davis [Wed, 5 Jun 2019 16:01:10 +0000 (12:01 -0400)]
staging: android: ion: Do not sync CPU cache on map/unmap

Buffers may not be mapped from the CPU so skip cache maintenance here.
Accesses from the CPU to a cached heap should be bracketed with
{begin,end}_cpu_access calls so maintenance should not be needed anyway.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agodmaengine: ti: k3-navss-udma: reset tx/rx rt regs upon channel request
Grygorii Strashko [Wed, 5 Jun 2019 15:24:40 +0000 (18:24 +0300)]
dmaengine: ti: k3-navss-udma: reset tx/rx rt regs upon channel request

Some of UDMA channels might be used by ROM or u-boot before Linux is
started. As result UDMA RX/TX RT registers might be not in the default
state. Now the UDMA glue layer doesn't overwriting UDMA RX/TX RT and uses
RMW operation to set/clear bits RT registers which causes UDMA RX/TX
channels to stop working if there RT registers have been not in the default
state upon starting Linux (like tdown bit is set).

It has been worked before because MCU UDMA was not used or was cleaned
properly by u-boot.

Reviewed-by: Peter Ujfalusi <peter.ujflausi@ti.com>
Acked-by: Peter Ujfalusi <peter.ujflausi@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add the MCU SRAM node
Suman Anna [Wed, 5 Jun 2019 16:57:31 +0000 (11:57 -0500)]
arm64: dts: ti: k3-j721e: Add the MCU SRAM node

Add the on-chip SRAM present within the MCU domain as a mmio-sram node.
The K3 J721E SoCs have 1 MB of such memory. Any specific memory range
within this RAM needed by a driver/software module ought to be reserved
using an appropriate child node.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: dts: ti: k3-j721e-common-proc-board: Disable unused gpio modules
Lokesh Vutla [Wed, 5 Jun 2019 09:17:20 +0000 (14:47 +0530)]
arm64: dts: ti: k3-j721e-common-proc-board: Disable unused gpio modules

There are 10 gpio instances inside SoC with 3 groups as below:
- Group1: main_gpio0, main_gpio2, main_gpio4, main_gpio6
- Group2: main_gpio1, main_gpio3, main_gpio5, main_gpio7
- Group3: wkup_gpio0, wkup_gpio1

Only one instance can be used in each group at a time. So use main_gpio0,
main_gpio1 and wkup_gpio0 for the current linux context and mark other
gpio nodes as disabled.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add gpio nodes in wakeup domain
Lokesh Vutla [Wed, 5 Jun 2019 09:17:19 +0000 (14:47 +0530)]
arm64: dts: ti: k3-j721e: Add gpio nodes in wakeup domain

Similar to the gpio groups in main domain, there is one gpio group
in wakup domain with 2 module instances in it. This gpio group pins
out 84 lines(6 banks). Add DT node for these 2 gpio module instances.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add gpio nodes in main domain
Lokesh Vutla [Wed, 5 Jun 2019 09:17:18 +0000 (14:47 +0530)]
arm64: dts: ti: k3-j721e: Add gpio nodes in main domain

There are 8 instances of gpio modules in main domain divided into 2 groups:
- Group1: gpio0, gpio2, gpio4, gpio6
- Group2: gpio1, gpio3, gpio5, gpio7

Groups are created to provide protection between two different processor
virtual worlds. There are x gpio lines coming out of each group. Each module
in a group has equal x gpio lines pinned out. There is a top level mux for
selecting the module instance for each pin coming out of group. Exactly
one module can be selected to control the corresponding pin. This muxing
can be controlled along the pad mux configuration registers.

Group1 pins out 128 lines(8 banks). Group 2 pins out 36 lines(2 banks).

Add DT nodes for each module instance in the main domain. Users should
make sure that correct gpio instance is selected in their pad configuration.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agodt-bindings: gpio: davinci: Add new compatible for J721E SoCs
Lokesh Vutla [Wed, 5 Jun 2019 09:17:17 +0000 (14:47 +0530)]
dt-bindings: gpio: davinci: Add new compatible for J721E SoCs

J721e SoCs have same gpio IP as K2G davinci gpio. Add a new compatible to
handle J721E SoCs.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add interrupt controllers in wakeup domain
Lokesh Vutla [Wed, 5 Jun 2019 09:17:16 +0000 (14:47 +0530)]
arm64: dts: ti: k3-j721e: Add interrupt controllers in wakeup domain

Wakeup domain in J721E SoC has an interrupt router connected to gpio
in wakeup domain. Add DT node for this interrupt router.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Add interrupt controllers in main domain
Lokesh Vutla [Wed, 5 Jun 2019 09:17:15 +0000 (14:47 +0530)]
arm64: dts: ti: k3-j721e: Add interrupt controllers in main domain

Main domain in J721E has the following interrupt controller instances:
- Main Domain GPIO Interrupt router connected to gpio in main domain.
- Under the Main Domain Navigator Subsystem(NAVSS)
    - Main Navss Interrupt Router connected to main navss inta and mailboxes.
    - Main Navss Interrupt Aggregator connected to main domain UDMASS

DT node for Main Navss Interrupt Router is added by commit 8c3b75a024ee
("arm64: dts: ti: k3-j721e-main: Add Main NavSS Interrupt controller node")
Add DT nodes for the remaining interrupt controllers available
in main domain.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm64: dts: ti: Update power-domain cells for uart 8
Lokesh Vutla [Wed, 5 Jun 2019 09:17:14 +0000 (14:47 +0530)]
arm64: dts: ti: Update power-domain cells for uart 8

Update the power-domains property for uart8.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg into ti...
LCPD Auto Merger [Thu, 6 Jun 2019 03:45:09 +0000 (22:45 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg into ti-linux-4.19.y

TI-Feature: rpmsg
TI-Tree: git://git.ti.com/rpmsg/rpmsg.git
TI-Branch: rpmsg-ti-linux-4.19.y-intg

* 'rpmsg-ti-linux-4.19.y-intg' of git://git.ti.com/rpmsg/rpmsg:
  arm64: dts: ti: k3-j721e-main: Add IPC sub-mailbox nodes for all R5Fs & DSPs
  arm64: dts: ti: k3-j721e-main: Add mailbox cluster nodes
  dt-bindings: mailbox: omap: Update binding for J721E SoCs
  arm64: dts: ti: k3-j721e-main: Add hwspinlock node
  dt-bindings: hwlock: Update OMAP HwSpinlock binding for J721E SoCs
  mailbox/omap: Simplify mbox_msg_t usage
  arm64: dts: ti: k3-am65-main: Move mailbox nodes to main_navss interconnect
  arm64: dts: ti: k3-am65-main: Move hwspinlock node to main_navss interconnect

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add IPC sub-mailbox nodes for all R5Fs & DSPs
Suman Anna [Wed, 5 Jun 2019 03:22:28 +0000 (03:22 +0000)]
arm64: dts: ti: k3-j721e-main: Add IPC sub-mailbox nodes for all R5Fs & DSPs

Add the sub-mailbox nodes that are used to communicate between MPU and
various remote processors present in the J721E SoCs. These include the
R5F remote processors in the dual-R5F cluster (MCU_R5FSS0) in the MCU
domain and the two dual-R5F clusters (MAIN_R5FSS0 & MAIN_R5FSS1) in the
MAIN domain; the two C66x DSP remote processors and the single C71x DSP
remote processor in the MAIN domain. The parent mailbox cluster nodes
are also enabled.

The sub-mailbox nodes utilize the System Mailbox clusters 0 through 4.
These sub-mailbox nodes are added to match the hard-coded mailbox
configuration used within the TI RTOS IPC software packages. The R5F
processor sub-systems are assumed to be running in Split mode, so a
sub-mailbox node is used by each of the R5F cores. The sub-mailbox node
for the first R5F core in each cluster is used in case of Lockstep mode.

NOTE:
The GIC_SPI interrupts to be used are dynamically allocated and managed
by the System Firmware through the ti-sci-irqchip driver. So, only valid
interrupts (each cluster's User 0 IRQ output) that are used by the
sub-mailbox devices are enabled. This is done to minimize the number
of NavSS Interrupt Router outputs utilized.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add mailbox cluster nodes
Suman Anna [Wed, 5 Jun 2019 03:22:27 +0000 (03:22 +0000)]
arm64: dts: ti: k3-j721e-main: Add mailbox cluster nodes

The J721E Main NavSS block contains a Mailbox IP instance with
multiple clusters. Each cluster is equivalent to an Mailbox IP
instance on OMAP platforms.

Add all the Mailbox clusters as their own nodes under the MAIN
NavSS cbass_main_navss interconnect node instead of creating an
almost empty parent node for the new K3 mailbox IP and the clusters
as its child nodes. All these nodes are marked as disabled, and
they need to be enabled along with the appropriate child nodes
on a need basis.

NOTE:
The NavSS only has a limited number of interrupts, so all the
interrupts generated by a Mailbox IP are not added by default.
Only the needed interrupts that are targeted towards the A72
GIC will need to be be added later on when some sub-mailbox
child nodes are added.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agodt-bindings: mailbox: omap: Update binding for J721E SoCs
Suman Anna [Wed, 5 Jun 2019 03:22:26 +0000 (03:22 +0000)]
dt-bindings: mailbox: omap: Update binding for J721E SoCs

Update the existing OMAP Mailbox binding to include the info
for J721E SoCs. The same compatible from AM65x SoCs is reused
for J721E SoCs as well.

The overall binding has also been updated to add additional
details, fix up various typos and update the AM65x example
to reflect the latest usage.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add hwspinlock node
Suman Anna [Sat, 1 Jun 2019 04:56:41 +0000 (04:56 +0000)]
arm64: dts: ti: k3-j721e-main: Add hwspinlock node

The Main NavSS block on J721E SoCs contains a HwSpinlock IP instance that
is same as the IP on AM65x SoCs and similar to the IP on some OMAP SoCs.
Add the DT node for this on J721E SoCs. The node is present within the
Main NavSS block, and is added as a child node under the cbass_main_navss
interconnect node.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agodt-bindings: hwlock: Update OMAP HwSpinlock binding for J721E SoCs
Suman Anna [Sat, 1 Jun 2019 04:56:40 +0000 (04:56 +0000)]
dt-bindings: hwlock: Update OMAP HwSpinlock binding for J721E SoCs

Update the existing OMAP HwSpinlock binding to also include the
info for J721E SoCs. The same compatible from AM65x SoCs is
reused for J721E SoCs as well. The AM65x example is also updated
to reflect the new interconnect location.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti...
Suman Anna [Wed, 5 Jun 2019 20:45:40 +0000 (15:45 -0500)]
Merge branch 'rpmsg-ti-linux-4.19.y' of git://git.ti.com/rpmsg/rpmsg into rpmsg-ti-linux-4.19.y-intg

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti...
Suman Anna [Wed, 5 Jun 2019 19:47:52 +0000 (14:47 -0500)]
Merge branch 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc into rpmsg-ti-linux-4.19.y

Pull in the dedicated AM65x remoteproc topic branch to bring in couple
of AM65x mailbox cleanup patches. Changes include mbox_msg_t type
simplification and the relocation of the AM65x Mailbox DT nodes from
the cbass_main interconnect node to the more accurate main_navss
interconnect node.

* 'topic/4.19/am65x' of git://git.ti.com/rpmsg/remoteproc:
  mailbox/omap: Simplify mbox_msg_t usage
  arm64: dts: ti: k3-am65-main: Move mailbox nodes to main_navss interconnect

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'mailbox-linux-4.19.y' of git://git.ti.com/rpmsg/mailbox into topic...
Suman Anna [Wed, 5 Jun 2019 19:30:49 +0000 (14:30 -0500)]
Merge branch 'mailbox-linux-4.19.y' of git://git.ti.com/rpmsg/mailbox into topic/4.19/am65x

Merge in the mailbox feature tree into the AM65x remoteproc topic branch
that pulls in the changes to simplify the mbox_msg_t usage and move the
AM65x Mailbox DT node from cbass_main interconnect node to the more
accurate main_navss interconnect node.

* 'mailbox-linux-4.19.y' of git://git.ti.com/rpmsg/mailbox:
  mailbox/omap: Simplify mbox_msg_t usage
  arm64: dts: ti: k3-am65-main: Move mailbox nodes to main_navss interconnect

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel...
LCPD Auto Merger [Wed, 5 Jun 2019 08:44:52 +0000 (03:44 -0500)]
Merge branch 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y

TI-Feature: platform_base
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y

* 'platform-ti-linux-4.19.y' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree:
  dmaengine: ti: k3-udma: Make slave TR mode operational with PDMAs
  dmaengine: ti: k3-udma: Fix kernel crash when _prep* callback fails
  dmaengine: ti: k3-udma: new workaround for packet mode rx
  dmaengine: ti: k3-udma: Use define for the default ring size

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agomailbox/omap: Simplify mbox_msg_t usage
Suman Anna [Mon, 3 Jun 2019 21:13:47 +0000 (16:13 -0500)]
mailbox/omap: Simplify mbox_msg_t usage

Simplify the mbox_msg_t type definition and the to_omap_mbox_msg
macro to use the uintptr_t type that can scale better to both
32-bit and 64-bit platforms.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoMerge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel...
LCPD Auto Merger [Tue, 4 Jun 2019 14:24:00 +0000 (09:24 -0500)]
Merge branch 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree into ti-linux-4.19.y

TI-Feature: audio-display
TI-Tree: git@git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree.git
TI-Branch: audio_display-ti-linux-4.19.y

* 'audio_display-ti-linux-4.19.y' of git.ti.com:~jyrisarha/ti-linux-kernel/jyrisarhas-audio-video-linux-feature-tree:
  ASoC: pcm3168a: Implement set_tdm_slot callback
  ASoC: pcm3168a: Enable TDM support for DSP_A/B modes

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio...
Jyri Sarha [Tue, 4 Jun 2019 12:27:03 +0000 (15:27 +0300)]
Merge branch 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio into audio_display-ti-linux-4.19.y

2019.02 - pcm3168a fixes needed for j721e

* 'peter/ti-linux-4.19.y/topic/audio' of https://github.com/omap-audio/linux-audio:
  ASoC: pcm3168a: Implement set_tdm_slot callback
  ASoC: pcm3168a: Enable TDM support for DSP_A/B modes

4 years agoASoC: pcm3168a: Implement set_tdm_slot callback
Peter Ujfalusi [Thu, 23 May 2019 14:07:46 +0000 (17:07 +0300)]
ASoC: pcm3168a: Implement set_tdm_slot callback

Initially we only going to care about the slot_width as for example
DSP_A/B needs 32 bclk per slots and to be able to use TDM mode the codec
(and CPU) needs to use DSP_A/B modes.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agoASoC: pcm3168a: Enable TDM support for DSP_A/B modes
Peter Ujfalusi [Wed, 17 Apr 2019 11:31:40 +0000 (14:31 +0300)]
ASoC: pcm3168a: Enable TDM support for DSP_A/B modes

The 24-bit TDM mode also applies to DSP_A and DSP_B modes.
Most dais on the SoC side can not interpret I2S/Left_j with other than 2
channels of audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
4 years agodmaengine: ti: k3-udma: Make slave TR mode operational with PDMAs
Peter Ujfalusi [Fri, 26 Apr 2019 10:54:53 +0000 (13:54 +0300)]
dmaengine: ti: k3-udma: Make slave TR mode operational with PDMAs

If we use TR mode for peripherals (serviced by PDMA) which is not a
streaming type (cyclic) then PDMA will not return all the data it has
received from the remote end causing the RX operation to stall.

However telling PDMA to close the packet and flush it's FIFO makes the TR
slave mode operational with the same limitation as with packet mode.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: Fix kernel crash when _prep* callback fails
Peter Ujfalusi [Fri, 26 Apr 2019 12:40:06 +0000 (15:40 +0300)]
dmaengine: ti: k3-udma: Fix kernel crash when _prep* callback fails

Since the descriptor is not yet prepared, the vd->tx.chan is not yet valid
and when trying to free up the memory we will hit NULL pointer dereference.

Change the udma_free_hwdesc() parameters to fix this.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: new workaround for packet mode rx
Peter Ujfalusi [Fri, 26 Apr 2019 07:07:50 +0000 (10:07 +0300)]
dmaengine: ti: k3-udma: new workaround for packet mode rx

Instead of creating a temporary continuous buffer to do the transfer and
when it is finished copy the received data back to the client's sgl:

Create host buffer descriptors for each sg section and push them to fdr and
let UDMA to fill them and return the packet.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
4 years agodmaengine: ti: k3-udma: Use define for the default ring size
Peter Ujfalusi [Fri, 26 Apr 2019 07:07:49 +0000 (10:07 +0300)]
dmaengine: ti: k3-udma: Use define for the default ring size

In case we might need to adjust the ring size it is going to be easier if
there is only one place to touch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>