Commit Graph

3 Commits

Author SHA1 Message Date
Vishwaroop A
a557199c74 spi: tegra124-slave: tegra124 spi slave driver
Tegra spi slave driver for T124 and later chips.

Fix build error as
"'fpclk_name' may be used uninitialized".

Check and avoid divide by zero where clock rate
can be zero while selecting best clock.

SPI slave controller clock should be between 1.5 times to 4 times
of interface clock. Currently it is set to 4 times.
Change it to 3 times to avoid border cases where actual clock is not
same as what is requested.
Ex: master is set to .99MHz when 1MHz is requested and
slave is set to 4MHz as requested. Here above rule is violated.

SPI slave controller clock should be 1.5x of interface clock.
Change it to 2x to avoid border cases where actual clock set
is not same as what is requested.
Ex: master is set to 1MHz and slave is set to 1.48MHz instead
of 1.5MHz as requested. Here above rule is violated.

Set max buffer size to dma buffer size if dma init is
successful

Change based on below commits from linux-5.10
9de18723 spi: handle dma_slave_config error.
3a33b5fb spi: fix mem leak in spi slave driver
4b9b15ae drivers: Fix compile errors seen while merging 'v5.10-rc2'

Change based on below commits from linux-4.9
76a47a65 spi: tegra124-slave: tegra124 spi slave driver
2c341aa0 drivers: spi: fix -werror
b511c6f4 spi: tegra: Avoid divide by zero error
fdd18c3f spi: slave: Fix controller clock multiplier
829c57d6 spi: slave: Fix controller clock multiplier
85f8f7c2 spi: tegra: fix max buffer size

Bug 200021334
Bug 1899778
bug 1745660
Bug 200304626
Bug 200106113
Bug 200112595
bug 200054134
bug 1585361
Bug 200157229
bug 200116059
Bug 200063654
Bug 200045563
Bug 200084260
Bug 200141432
bug 200194538
bug 200129610
Bug 200319741
Coverity ID: 29578
Bug 200319815
Bug 200379969

Change-Id: Ibfadb40469f30b21350ed0fb7ee5daf96047197d
Signed-off-by: Vishwaroop A <va@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2888151
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2023-04-27 08:01:45 -07:00
Vishwaroop A
78ef37abb0 spi: tegra210-quad: enable qspi controller driver
Enable QSPI controller driver for kernel-OOT

Change based on below commits:

[UPSTREAM v5.16] 134a7237 spi: tegra210-quad: Put device into suspend on driver removal
[UPSTREAM v5.17] f89d2cc3 spi: tegra210-quad: use devm call for cdata memory
[UPSTREAM v5.18] 47c3e06e spi: tegra210-quad: Fix missin IRQ check in tegra qspi probe
[UPSTREAM v5.18] ac982578 spi: tegra210-quad: use device reset method
[UPSTREAM v5.18] ea23f0e1 spi: tegra210-quad: add new chips to compatible
[UPSTREAM v5.18] 75a1b44a spi: tegra210-quad: add acpi support
[UPSTREAM v5.18] 1b8342cc spi: tegra210-quad: combined sequence mode
[UPSTREAM v6.0]  b7613417 spi: tegra210-quad: Multi-cs support
[UPSTREAM v6.1]  8777dd9d spi: tegra210-quad: Fix combined sequence
[UPSTREAM PENDING] spi: tegra210-quad: Fix duplicate resource error
[UPSTREAM PENDING] spi: tegra210-quad: Use nbits in combined seq
[UPSTREAM PENDING] spi: tegra210-quad: combined seq for 4READ
[UPSTREAM PENDING] spi: tegra210-quad: native dma support
[UPSTREAM v6.1] spi: tegra210-quad: Don't initialise DMA if not supported
[UPSTREAM PENDING] spi: tegra210-quad: Fix cs change in cmd sequence
665a990fdbea6 spi: tegra210-quad: Fix an error message
6a8a8b51703c6 spi: tegra210-quad: Add support for hardware dummy cycles transfer
921fc1838fb03 spi: tegra210-quad: Add support for Tegra210 QSPI controller

Change-Id: I372ba5556b50457d41b1ba09364ed9c71659e520
Signed-off-by: Vishwaroop A <va@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2817463
Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
2022-11-30 10:44:08 -08:00
Laxman Dewangan
7772ebe04f spi: Add driver for Tegra SPI Aurix driver
Add SPI Aurix protocol driver which communicates to the Aurix based on
SPI communication.

Currently, the hv_pm_ctrl APIs are implemented as dummy till
virtual HV driver is available.

Bug 3583584

Change-Id: I5b786b566cbf77f5627d518f8c98cb1fdd55dfa8
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2708696
GVS: Gerrit_Virtual_Submit
2022-05-07 15:20:44 -07:00