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-20190610
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: (26 commits)
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
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
...
Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
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: (26 commits)
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
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
...
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-20190610
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>
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>
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>
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>
Merge branch 'platform-ti-linux-4.19.y-next' of git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree into ti-linux-4.19.y-next
TI-Feature: platform_next
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y-next
* 'platform-ti-linux-4.19.y-next' 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>
TI-Feature: platform_next
TI-Tree: git://git.ti.com/~rrnayak/ti-linux-kernel/platform-linux-feature-tree.git
TI-Branch: platform-ti-linux-4.19.y-next
* 'platform-ti-linux-4.19.y-next' 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>
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>
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>
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>
Add the PDMA nodes needed for USART, SPI.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
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>
Add the PDMA nodes needed for USART, SPI and McASP.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
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>
Enable the UDMA support by adding and populating the mcu NAVSS.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
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>
Enable the UDMA support by adding and populating the main NAVSS.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
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>
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>
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>
Update the binding document for UDMAs found in j721e.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
ti_config_fragments: v8_baseport: Enable ION driver
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
ti_config_fragments: baseport: Enable ION driver
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
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>
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>
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>
Add documentation for Texas Instruments SoCs ION node ti,ion.
Signed-off-by: Andrew F. Davis <afd@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Update the power-domains property for uart8.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Signed-off-by: Suman Anna <s-anna@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This is required for USB support on J721e.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
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>
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>
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>
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>
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>
PHY needs to be powered on.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>