]> 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-next' of git.ti.com:ti-linux-kernel/ti-linux-kernel... ti-rt-linux-4.19.y-next-20190609
LCPD Auto Merger [Sun, 9 Jun 2019 07:33:06 +0000 (02:33 -0500)]
Merge branch 'ti-linux-4.19.y-next' of git.ti.com:ti-linux-kernel/ti-linux-kernel-next into ti-rt-linux-4.19.y-next

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel-next.git
TI-Branch: ti-linux-4.19.y-next

* 'ti-linux-4.19.y-next' of git.ti.com:ti-linux-kernel/ti-linux-kernel-next:
  TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a mailbox test node
  TST: arm64: dts: ti: k3-j721e-main: Add mailbox loopback devices for testing
  TST: arm64: dts: ti: k3-am654-base-board: Add a mailbox test node
  TST: arm64: dts: ti: k3-am65-main: Add a mailbox loopback device for testing
  TEST: mailbox/omap: add a stand-alone test module for loopback devices
  TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a hwspinlock test node
  TST: arm64: dts: ti: k3-am654-base-board: Add a hwspinlock test node
  TEST: hwspinlock/omap: Add a stand-alone unit-test module
  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
  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
  net: ethernet: ti: prueth: Stop building prueth on K3 platforms
  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 'ti-linux-4.19.y-for-next' of git://git.ti.com/linux-phy/kishons-ti... ti-linux-4.19.y-next-20190609
LCPD Auto Merger [Sun, 9 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 [Sun, 9 Jun 2019 07:26:28 +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:
  TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a mailbox test node
  TST: arm64: dts: ti: k3-j721e-main: Add mailbox loopback devices for testing
  TST: arm64: dts: ti: k3-am654-base-board: Add a mailbox test node
  TST: arm64: dts: ti: k3-am65-main: Add a mailbox loopback device for testing
  TEST: mailbox/omap: add a stand-alone test module for loopback devices
  TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a hwspinlock test node
  TST: arm64: dts: ti: k3-am654-base-board: Add a hwspinlock test node
  TEST: hwspinlock/omap: Add a stand-alone unit-test module
  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
  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
  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 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Sat, 8 Jun 2019 16:35:45 +0000 (11:35 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  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: 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...
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 agoTST: arm64: dts: ti: k3-j721e-common-proc-board: Add a mailbox test node
Suman Anna [Thu, 30 May 2019 16:55:14 +0000 (11:55 -0500)]
TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a mailbox test node

Add mbox_test node to the K3 J721E common processor board upon which the
mailbox can be tested. The node can be used to test any of the loopback
sub-mailbox nodes on each of the enabled Mailbox Clusters 0 through 4,
one at a time.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTST: arm64: dts: ti: k3-j721e-main: Add mailbox loopback devices for testing
Suman Anna [Tue, 29 Jan 2019 21:52:28 +0000 (15:52 -0600)]
TST: arm64: dts: ti: k3-j721e-main: Add mailbox loopback devices for testing

Add some loopback sub-mailbox devices within each of the Mailbox Clusters
0 through 4 on the J721E SoCs for testing. The loopback device uses the
same mailbox fifo for sending and receiving messages on the MPU itself,
facilitating a unit-test. The last FIFO within each cluster is chosen for
the loopback to not conflict with the actual FIFOs at the beginning that
will be used to communicate with the remote processors.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTST: arm64: dts: ti: k3-am654-base-board: Add a mailbox test node
Suman Anna [Fri, 18 May 2018 16:23:05 +0000 (11:23 -0500)]
TST: arm64: dts: ti: k3-am654-base-board: Add a mailbox test node

Add a mbox_test node to the AM654 base board which allows the
mailbox to be tested on any of the derivative boards. The node
can be used to test any of the loopback sub-mailbox nodes on each
of the enabled Mailbox Clusters 0 or 1, one at a time.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTST: arm64: dts: ti: k3-am65-main: Add a mailbox loopback device for testing
Suman Anna [Thu, 29 Jun 2017 00:13:33 +0000 (19:13 -0500)]
TST: arm64: dts: ti: k3-am65-main: Add a mailbox loopback device for testing

Add a loopback sub-mailbox device within Mailbox clusters 1 and 2 on the
AM65x SoCs for testing. The loopback device uses the same mailbox fifo
for sending and receiving messages on the MPU itself, facilitating a
unit-test. The last FIFO within the IP is chosen for the loopback to
not conflict with the actual FIFOs at the beginning that will be used
to communicate with the remote processors.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTEST: mailbox/omap: add a stand-alone test module for loopback devices
Suman Anna [Fri, 13 Jul 2018 20:46:05 +0000 (15:46 -0500)]
TEST: mailbox/omap: add a stand-alone test module for loopback devices

Add a preliminary unit-test module for the OMAP Mailbox driver. The test
uses the API provided by the Mailbox framework and performs a loop-back
test (send and receive on the same OMAP Mailbox FIFO on the Linux host
processor). The test module requires specific sub-mailbox loop-back child
device(s) to be added to the desired OMAP Mailbox nodes, and a test node
referencing the added sub-mailbox nodes.

Two module parameters, 'count' (default = 16) and 'mbox_id' (default = 0),
are provided to dictate the number of messages to be exchanged and the
index of the sub-mailbox device in the test node's mboxes property. The
test status and number of messages received are printed upon the module's
removal.

NOTE:
The module needs to be installed and uninstalled with specific mbox_id
parameter to test the corresponding loopback sub-device if the test node
has multiple sub-devices to test.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTST: arm64: dts: ti: k3-j721e-common-proc-board: Add a hwspinlock test node
Suman Anna [Thu, 30 May 2019 16:34:55 +0000 (11:34 -0500)]
TST: arm64: dts: ti: k3-j721e-common-proc-board: Add a hwspinlock test node

Add hwspin_test node to the K3 J721E common processor board upon which the
hwspinlock DT client usage can be tested.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTST: arm64: dts: ti: k3-am654-base-board: Add a hwspinlock test node
Suman Anna [Mon, 11 Jun 2018 23:15:28 +0000 (18:15 -0500)]
TST: arm64: dts: ti: k3-am654-base-board: Add a hwspinlock test node

Add hwspin_test node to the K3 AM654 base board upon which the
hwspinlock DT client usage can be tested.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoTEST: hwspinlock/omap: Add a stand-alone unit-test module
Suman Anna [Mon, 25 Mar 2019 21:57:45 +0000 (16:57 -0500)]
TEST: hwspinlock/omap: Add a stand-alone unit-test module

Add an unit-test module to test all the possible hwspinlocks supported
on a bank using the regular hwspinlock request API. The module also
tests DT client usage optionally (based on presence of a test-node)
using the appropriate OF request API of_hwspin_get_lock_id() request
API.

The test module is re-implemented as a regular module instead of a
platform driver so that it can be run even without the presence of any
test nodes. The module uses some SoC data for figuring out the maximum
number of locks on a SoC.

Signed-off-by: Suman Anna <s-anna@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 agoMerge branch 'topic/4.19/am65x' into rpmsg-ti-linux-4.19.y-next
Suman Anna [Fri, 7 Jun 2019 23:46:00 +0000 (18:46 -0500)]
Merge branch 'topic/4.19/am65x' into rpmsg-ti-linux-4.19.y-next

* topic/4.19/am65x:
  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 [Thu, 2 May 2019 16:14:00 +0000 (11:14 -0500)]
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>
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 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Thu, 6 Jun 2019 23:35:00 +0000 (18:35 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/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 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 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Thu, 6 Jun 2019 05:35:19 +0000 (00:35 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  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 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 agoMerge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Wed, 5 Jun 2019 21:36:08 +0000 (16:36 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  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 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 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Tue, 4 Jun 2019 15:34:56 +0000 (10:34 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  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 '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>
4 years agoMerge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Tue, 4 Jun 2019 08:34:01 +0000 (03:34 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
  arm64: dts: ti: k3-j721e: Update the power domain cells
  arm64: dts: ti: k3-j721e-main: Add Main NavSS Interrupt controller node
  Revert "soc: ti: am6: Enable interrupt controller drivers"
  Revert "soc: ti: Add TI_MESSAGE_MANAGER to default K3 AM65x SoC options"
  arm64: arch_k3: Enable interrupt controller drivers

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, 4 Jun 2019 07:44:58 +0000 (02: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:
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
  arm64: dts: ti: k3-j721e: Update the power domain cells
  arm64: dts: ti: k3-j721e-main: Add Main NavSS Interrupt controller node
  Revert "soc: ti: am6: Enable interrupt controller drivers"
  Revert "soc: ti: Add TI_MESSAGE_MANAGER to default K3 AM65x SoC options"
  arm64: arch_k3: Enable interrupt controller drivers

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agoMerge branch 'hwspinlock-linux-4.19.y' of git://git.ti.com/rpmsg/hwspinlock into...
Suman Anna [Mon, 3 Jun 2019 15:46:19 +0000 (10:46 -0500)]
Merge branch 'hwspinlock-linux-4.19.y' of git://git.ti.com/rpmsg/hwspinlock into rpmsg-ti-linux-4.19.y

Pull in the hwspinlock feature tree that moves the AM65x HwSpinlock DT
node from cbass_main interconnect node to the more accurate main_navss
interconnect node.

* 'hwspinlock-linux-4.19.y' of git://git.ti.com/rpmsg/hwspinlock:
  arm64: dts: ti: k3-am65-main: Move hwspinlock node to main_navss interconnect

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agommc: sdhci_am654: Fix DLL trim and driver strength configuration
Faiz Abbas [Fri, 10 May 2019 04:07:25 +0000 (09:37 +0530)]
mmc: sdhci_am654: Fix DLL trim and driver strength configuration

DLL trim and driver strength are one-time configurations which don't
need to be redone every time the DLL frequency is changed. Move this
configuration to the sdhci_am654_init() call.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agommc: sdhci_am654: Fix SLOTTYPE write
Faiz Abbas [Fri, 10 May 2019 04:07:24 +0000 (09:37 +0530)]
mmc: sdhci_am654: Fix SLOTTYPE write

In the call to regmap_update_bits() for SLOTTYPE, the mask and value
fields are exchanged. Fix this. This didn't have any affect on behaviour
because this was a NOP and it was taking the correct value from the
bootloader.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agommc: sdhci_am654: Print error message if the DLL fails to lock
Faiz Abbas [Fri, 10 May 2019 04:07:23 +0000 (09:37 +0530)]
mmc: sdhci_am654: Print error message if the DLL fails to lock

Print an error message and return if DLL fails to lock.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agommc: sdhci_am654: Improve line wrapping with regmap_*() calls
Faiz Abbas [Fri, 10 May 2019 04:07:22 +0000 (09:37 +0530)]
mmc: sdhci_am654: Improve line wrapping with regmap_*() calls

Line wrapping with the regmap_*() functions is way more conservative
than required by the 80 character rule. Expand the function calls out to
use less number of lines.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoti_config_fragments: connectivity.cfg: Enable Cadence USB3 drivers
Roger Quadros [Thu, 30 May 2019 09:15:44 +0000 (12:15 +0300)]
ti_config_fragments: connectivity.cfg: Enable Cadence USB3 drivers

This is required for USB support on J721e.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: Implement Idle state for Type-C
Roger Quadros [Thu, 30 May 2019 09:15:43 +0000 (12:15 +0300)]
usb: cdns3: Implement Idle state for Type-C

For Type-C we need to have clear indication of
cable detached state so that we can keep Host and
Gadget controllers in idle state and program
the Lane swap feature during the next cable attach,
before starting Host/Gadget controllers.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: make dynamic role switching work
Roger Quadros [Thu, 30 May 2019 09:15:42 +0000 (12:15 +0300)]
usb: cdns3: make dynamic role switching work

We need to the flow as in "Figure 14. Software OTG Control"
in user guide.

This meens we need to request for HOST_BUS_REQ/DEV_BUS_REQ
while starting host/device role respectively.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: use phy power on/off
Roger Quadros [Thu, 30 May 2019 09:15:40 +0000 (12:15 +0300)]
usb: cdns3: use phy power on/off

PHY needs to be powered on.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: Add TI specific wrapper driver
Roger Quadros [Thu, 30 May 2019 09:15:39 +0000 (12:15 +0300)]
usb: cdns3: Add TI specific wrapper driver

The J721e platform comes with 2 Cadence USB3 controller
instances. This driver supports the TI specific wrapper
on this platform.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: usb: Add binding for the TI wrapper for Cadence USB3 controller
Roger Quadros [Thu, 30 May 2019 09:15:38 +0000 (12:15 +0300)]
dt-bindings: usb: Add binding for the TI wrapper for Cadence USB3 controller

TI platforms have a wrapper module around the Cadence USB3
controller. Add binding information for that.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: drd: print error on xhci/dev ready timeout
Roger Quadros [Thu, 30 May 2019 09:15:37 +0000 (12:15 +0300)]
usb: cdns3: drd: print error on xhci/dev ready timeout

Print an error message if XHCI_READY or DEV_READY times out.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: drd: don't call drd_update_mode in drd_init()
Roger Quadros [Thu, 30 May 2019 09:15:36 +0000 (12:15 +0300)]
usb: cdns3: drd: don't call drd_update_mode in drd_init()

At drd_init(), 'desired_dr_mode' is not yet correctly set
based on enabled drivers and dr_mode in DT. So don't call
drd_update_mode() from here.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: cdns3: support separate IRQs for otg/xhci/dev
Roger Quadros [Thu, 30 May 2019 09:15:35 +0000 (12:15 +0300)]
usb: cdns3: support separate IRQs for otg/xhci/dev

Some platforms (e.g. TI J721e) have separate interrupt lines
for OTG, XHCI and Device controllers. Provide for that.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:cdns3 Fix for stuck packets in on-chip OUT buffer.
Pawel Laszczak [Thu, 30 May 2019 09:15:34 +0000 (12:15 +0300)]
usb:cdns3 Fix for stuck packets in on-chip OUT buffer.

Controller for OUT endpoints has shared on-chip buffers for all incoming
packets, including ep0out. It's FIFO buffer, so packets must be handled
by DMA in correct order. If the first packet in the buffer will not be
handled, then the following packets directed for other endpoints and
functions will be blocked.

Additionally the packets directed to one endpoint can block entire on-chip
buffers. In this case transfer to other endpoints also will blocked.

To resolve this issue after raising the descriptor missing interrupt
driver prepares internal usb_request object and use it to arm DMA
transfer.

The problematic situation was observed in case when endpoint has
been enabled but no usb_request were queued. Driver try detects
such endpoints and will use this workaround only for these endpoint.

Driver use limited number of buffer. This number can be set by macro
CDNS_WA2_NUM_BUFFERS.

Such blocking situation was observed on ACM gadget. For this function
host send OUT data packet but ACM function is not prepared for
this packet. It's cause that buffer placed in on chip memory block
transfer to other endpoints.

Issue has been fixed for DEV_VER_V2 version of controller.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:cdns3 Add Cadence USB3 DRD Driver
Pawel Laszczak [Thu, 30 May 2019 09:15:33 +0000 (12:15 +0300)]
usb:cdns3 Add Cadence USB3 DRD Driver

This patch introduce new Cadence USBSS DRD driver to Linux kernel.

The Cadence USBSS DRD Driver is a highly configurable IP Core which
can be instantiated as Dual-Role Device (DRD), Peripheral Only and
Host Only (XHCI)configurations.

The current driver has been validated with FPGA platform. We have
support for PCIe bus, which is used on FPGA prototyping.

The host side of USBSS-DRD controller is compliant with XHCI
specification, so it works with standard XHCI Linux driver.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E
Lokesh Vutla [Fri, 31 May 2019 06:24:35 +0000 (11:54 +0530)]
dt-bindings: pinctrl: k3: Introduce pinmux definitions for J721E

Add pinctrl macros for J721E SoC. These macro definitions are
similar to that of AM6, but adding new definitions to avoid
any naming confusions in the soc dts files.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
4 years agoarm64: dts: ti: k3-j721e: Update the power domain cells
Subhajit Paul [Fri, 31 May 2019 06:24:34 +0000 (11:54 +0530)]
arm64: dts: ti: k3-j721e: Update the power domain cells

Update the power-domain cells to 2 and mark all devices as
exclusive.

Signed-off-by: Subhajit Paul <subhajit_paul@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
4 years agoarm64: dts: ti: k3-j721e-main: Add Main NavSS Interrupt controller node
Suman Anna [Fri, 31 May 2019 15:43:43 +0000 (10:43 -0500)]
arm64: dts: ti: k3-j721e-main: Add Main NavSS Interrupt controller node

Add the Interrupt controller node for the Interrupt Router present within
the Main NavSS module. This Interrupt Router can route 192 interrupts to
the GIC_SPI in 3 sets of 64 interrupts each. Note that the last set is
reserved for the host ID A72_3 for hypervisor usecases, so the node is
added only with 2 sets for the Linux kernel context (host id A72_2). This
is specified through the ti,sci-rm-range-girq property, and matches the
RM board config in the system-firmware-image-gen repo.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoRevert "soc: ti: am6: Enable interrupt controller drivers"
Suman Anna [Fri, 31 May 2019 15:43:42 +0000 (10:43 -0500)]
Revert "soc: ti: am6: Enable interrupt controller drivers"

This reverts commit 4c94b81b8891374830c3140943cea92b55bc57bd.

The TI_SCI_PROTOCOL and the K3 irqchip driver symbols TI_SCI_INTR_IRQCHIP
and TI_SCI_INTA_IRQCHIP are common to all existing K3 SoCs, and so are
selected properly under the ARCH_K3 Kconfig symbol. These Kconfig symbols
therefore need not be selected under the SoC-specific ARCH_K3_AM6_SOC
Kconfig symbol, so drop these.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoRevert "soc: ti: Add TI_MESSAGE_MANAGER to default K3 AM65x SoC options"
Suman Anna [Fri, 31 May 2019 15:43:41 +0000 (10:43 -0500)]
Revert "soc: ti: Add TI_MESSAGE_MANAGER to default K3 AM65x SoC options"

This reverts commit 6d30136ffe31b55673c210e67af72a1c3864bb14.

The TI_SCI_PROTOCOL and TI_MESSAGE_MANAGER Kconfig options are essential
for all existing K3 SoCs, and so are selected properly under the ARCH_K3
Kconfig symbol. The TI_MESSAGE_MANAGER Kconfig therefore need not be
selected under the SoC-specific ARCH_K3_AM6_SOC Kconfig symbol, so drop
this.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: arch_k3: Enable interrupt controller drivers
Lokesh Vutla [Fri, 31 May 2019 15:43:40 +0000 (10:43 -0500)]
arm64: arch_k3: Enable interrupt controller drivers

commit 009669e7481361470f7667c96a96893c8ba5f461 upstream.

Select the TISCI Interrupt Router, Aggregator drivers and all its
dependencies for TI's SoCs based on K3 architecture.

Suggested-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
[s-anna@ti.com: cherry-pick commit '009669e74813' from v5.2]
Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: dts: ti: k3-am65-main: Move mailbox nodes to main_navss interconnect
Suman Anna [Fri, 31 May 2019 16:25:22 +0000 (11:25 -0500)]
arm64: dts: ti: k3-am65-main: Move mailbox nodes to main_navss interconnect

All the Mailbox cluster nodes were currently added directly under the
cbass_main interconnect node, even though the Mailbox IP is present within
the Main NavSS sub-module and is accessible from the MPU through the Main
NavSS local interconnect. The Main NavSS interconnect is represented as
its own interconnect node, so move all these nodes under the main_navss
interconnect node.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agoarm64: dts: ti: k3-am65-main: Move hwspinlock node to main_navss interconnect
Suman Anna [Fri, 31 May 2019 16:17:49 +0000 (11:17 -0500)]
arm64: dts: ti: k3-am65-main: Move hwspinlock node to main_navss interconnect

The commit c18a938bdbac ("arm64: dts: ti: k3-am65-main: Add hwspinlock
node") had previously added the HwSpinlock node directly under the
cbass_main interconnect node even though it is connected on the Main
NavSS local interconnect. The Main NavSS interconnect is represented
as its own interconnect node, so move this node under the main_navss
interconnect node.

Signed-off-by: Suman Anna <s-anna@ti.com>
4 years agousb:common Simplify usb_decode_get_set_descriptor function.
Pawel Laszczak [Thu, 30 May 2019 09:15:32 +0000 (12:15 +0300)]
usb:common Simplify usb_decode_get_set_descriptor function.

Patch moves switch responsible for decoding descriptor type
outside snprintf. It improves code readability a little.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:common Patch simplify usb_decode_set_clear_feature function.
Pawel Laszczak [Thu, 30 May 2019 09:15:31 +0000 (12:15 +0300)]
usb:common Patch simplify usb_decode_set_clear_feature function.

Patch adds usb_decode_test_mode and usb_decode_device_feature functions,
which allow to make more readable and simplify the
usb_decode_set_clear_feature function.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb:common Separated decoding functions from dwc3 driver.
Pawel Laszczak [Thu, 30 May 2019 09:15:30 +0000 (12:15 +0300)]
usb:common Separated decoding functions from dwc3 driver.

Patch moves some decoding functions from driver/usb/dwc3/debug.h driver
to driver/usb/common/debug.c file. These moved functions include:
    dwc3_decode_get_status
    dwc3_decode_set_clear_feature
    dwc3_decode_set_address
    dwc3_decode_get_set_descriptor
    dwc3_decode_get_configuration
    dwc3_decode_set_configuration
    dwc3_decode_get_intf
    dwc3_decode_set_intf
    dwc3_decode_synch_frame
    dwc3_decode_set_sel
    dwc3_decode_set_isoch_delay
    dwc3_decode_ctrl

These functions are used also in inroduced cdns3 driver.

All functions prefixes were changed from dwc3 to usb.
Also, function's parameters has been extended according to the name
of fields in standard SETUP packet.
Additionally, patch adds usb_decode_ctrl function to
include/linux/usb/ch9.h file.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agodt-bindings: add binding for USBSS-DRD controller.
Pawel Laszczak [Thu, 30 May 2019 09:15:29 +0000 (12:15 +0300)]
dt-bindings: add binding for USBSS-DRD controller.

This patch aim at documenting USB related dt-bindings for the
Cadence USBSS-DRD controller.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: debug: purge usage of strcat
Felipe Balbi [Thu, 30 May 2019 09:15:28 +0000 (12:15 +0300)]
usb: dwc3: debug: purge usage of strcat

commit 1381a5113caf764f090b912b478663275e7b999e upstream.

Now that buffer size is always passed around, we don't need to rely on
strcat anymore.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: trace: pass trace buffer size to decoding functions
Felipe Balbi [Thu, 30 May 2019 09:15:27 +0000 (12:15 +0300)]
usb: dwc3: trace: pass trace buffer size to decoding functions

commit 7790b3556fccc555ae422f1576e97bf34c8ab8b6 upstream.

Instead of assuming that our buffer is big enough, let's pass the
buffer size around so printing functions can make sure they won't
overflow the buffer.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: trace: log ep commands in hex
Felipe Balbi [Thu, 30 May 2019 09:15:26 +0000 (12:15 +0300)]
usb: dwc3: trace: log ep commands in hex

commit 1517265228b4ea6b89379fa8e134e62f75ea1dfe upstream.

They are much more useful in hexadecimal than in decimal. Moreover,
generic commands are already logged in hex.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agousb: dwc3: debugfs: Properly print/set link state for HS
Thinh Nguyen [Thu, 30 May 2019 09:15:25 +0000 (12:15 +0300)]
usb: dwc3: debugfs: Properly print/set link state for HS

commit 0d36dede457873404becd7c9cb9d0f2bcfd0dcd9 upstream.

Highspeed device and below has different state names than superspeed and
higher. Add proper checks and printouts of link states for highspeed and
below.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
4 years agoMerge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into...
LCPD Auto Merger [Thu, 30 May 2019 07:35:15 +0000 (02:35 -0500)]
Merge branch 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel into ti-rt-linux-4.19.y

TI-Feature: ti_linux_base_rt
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.19.y

* 'ti-linux-4.19.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
  firmware: ti_sci: extend clock identifiers from u8 to u32
  clk: keystone: sci-clk: extend clock IDs to 32 bits
  clk: keystone: sci-clk: cut down the clock name length
  arm64: defconfig: Enable TI's J721E SoC platform
  arm64: dts: ti: Add support for J721E Common Processor Board
  soc: ti: Add Support for J721E SoC config option
  arm64: dts: ti: Add Support for J721E SoC
  dt-bindings: serial: 8250_omap: Add compatible for J721E UART controller
  dt-bindings: arm: ti: Add bindings for J721E SoC

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 [Thu, 30 May 2019 06:44:43 +0000 (01: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:
  firmware: ti_sci: extend clock identifiers from u8 to u32
  clk: keystone: sci-clk: extend clock IDs to 32 bits
  clk: keystone: sci-clk: cut down the clock name length
  arm64: defconfig: Enable TI's J721E SoC platform
  arm64: dts: ti: Add support for J721E Common Processor Board
  soc: ti: Add Support for J721E SoC config option
  arm64: dts: ti: Add Support for J721E SoC
  dt-bindings: serial: 8250_omap: Add compatible for J721E UART controller
  dt-bindings: arm: ti: Add bindings for J721E SoC

Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
4 years agofirmware: ti_sci: extend clock identifiers from u8 to u32
Tero Kristo [Tue, 30 Apr 2019 11:31:33 +0000 (14:31 +0300)]
firmware: ti_sci: extend clock identifiers from u8 to u32

Future SoCs are going to have more than 255 device clocks in certain cases,
and thus the API must be extended to support this. The support is done in
backwards compatible extension, in which the new u32 clock identifier
fields are only used if the existing u8 size clock identifier is set as
255. In all the other cases, the existing u8 clock identifier is used. As
the size of the messages sent / received is not verified for existing
devices / old firmware, increasing the size of the messages from the end
is also fine. Due to this reason, depending on ABI version isn't necessary
either.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
4 years agoclk: keystone: sci-clk: extend clock IDs to 32 bits
Tero Kristo [Tue, 30 Apr 2019 11:28:35 +0000 (14:28 +0300)]
clk: keystone: sci-clk: extend clock IDs to 32 bits

Currently, the clock identifiers are limited to 255. To support future
SoCs, this muse be extended to 32 bits, which should provide way more
than enough space. Basic support for extending the clock API is going
to be implemented in the firmware driver, but there are some minor
changes that need to be done on the clock driver side first.

Signed-off-by: Tero Kristo <t-kristo@ti.com>