Thierry Reding [Fri, 17 Dec 2021 15:57:22 +0000 (16:57 +0100)]
Merge branch for-5.17/arm/defconfig into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/arm/dt into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/arm64/dt into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/memory into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/dt-bindings into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/drivers into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/soc into for-next
Thierry Reding [Fri, 17 Dec 2021 15:57:21 +0000 (16:57 +0100)]
Merge branch for-5.17/clk into for-next
Thierry Reding [Fri, 17 Dec 2021 13:53:08 +0000 (14:53 +0100)]
arm64: tegra: Add host1x hotflush reset on Tegra210
Add the host1x memory client hotflush reset on Tegra210.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:33 +0000 (02:23 +0300)]
media: dt: bindings: tegra-vde: Document OPP and power domain
Document new OPP table and power domain properties of the video decoder
hardware.
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:32 +0000 (02:23 +0300)]
media: dt: bindings: tegra-vde: Convert to schema
Convert NVIDIA Tegra video decoder binding to schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:14 +0000 (02:23 +0300)]
dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D
Memory Client should be blocked before hardware reset is asserted in order
to prevent memory corruption and hanging of memory controller.
Document Memory Client resets of Host1x, GR2D and GR3D hardware units.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:13 +0000 (02:23 +0300)]
dt-bindings: host1x: Document OPP and power domain properties
Document new DVFS OPP table and power domain properties of the Host1x bus
and devices sitting on the bus.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:11 +0000 (02:23 +0300)]
dt-bindings: clock: tegra-car: Document new clock sub-nodes
Document sub-nodes which describe Tegra SoC clocks that require a higher
voltage of the core power domain in order to operate properly on a higher
clock rates. Each node contains a phandle to OPP table and power domain.
The root PLLs and system clocks don't have any specific device dedicated
to them, clock controller is in charge of managing power for them.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
David Heidelberg [Sat, 11 Dec 2021 21:13:46 +0000 (00:13 +0300)]
dt-bindings: ARM: tegra: Document Pegatron Chagall
Document Pegatron Chagall, which is Tegra30-based tablet device.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Svyatoslav Ryhel [Sat, 11 Dec 2021 21:13:45 +0000 (00:13 +0300)]
dt-bindings: ARM: tegra: Document ASUS Transformers
Document Tegra20/30/114-based ASUS Transformer Series tablet devices.
This group includes EeePad TF101, Prime TF201, Pad TF300T, TF300TG
Infinity TF700T, TF701T.
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 6 Dec 2021 15:55:59 +0000 (16:55 +0100)]
dt-bindings: usb: tegra-xudc: Document interconnects and iommus properties
Add the interconnects, interconnect-names and iommus properties to the
device tree bindings for the Tegra XUDC controller. These are used to
describe the device's paths to and from memory.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:39 +0000 (15:38 +0100)]
dt-bindings: serial: Document Tegra234 TCU
Add the compatible string for the TCU found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:38 +0000 (15:38 +0100)]
dt-bindings: serial: tegra-tcu: Convert to json-schema
Convert the Tegra TCU device tree bindings to json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:37 +0000 (15:38 +0100)]
dt-bindings: thermal: tegra186-bpmp: Convert to json-schema
Convert the Tegra186 (and later) BPMP thermal device tree bindings from
the free-form text format to json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:35 +0000 (15:38 +0100)]
dt-bindings: firmware: tegra: Convert to json-schema
Convert the NVIDIA Tegra186 (and later) BPMP bindings from the free-form
text format to json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:34 +0000 (15:38 +0100)]
dt-bindings: tegra: pmc: Convert to json-schema
Convert the NVIDIA Tegra186 (and later) PMC bindings from the free-form
text format to json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:33 +0000 (15:38 +0100)]
dt-bindings: serial: 8250: Document Tegra234 UART
Add the compatible string for the UART found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:32 +0000 (15:38 +0100)]
dt-bindings: mmc: tegra: Document Tegra234 SDHCI
Add the compatible string for the SDHCI block found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:31 +0000 (15:38 +0100)]
dt-bindings: fuse: tegra: Document Tegra234 FUSE
Add the compatible string for the FUSE block found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:30 +0000 (15:38 +0100)]
dt-bindings: fuse: tegra: Convert to json-schema
Convert the NVIDIA Tegra FUSE bindings from the free-form text format to
json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:29 +0000 (15:38 +0100)]
dt-bindings: rtc: tegra: Document Tegra234 RTC
Add the compatible string for the RTC block found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:28 +0000 (15:38 +0100)]
dt-bindings: rtc: tegra: Convert to json-schema
Convert the NVIDIA Tegra RTC bindings from the free-form text format to
json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:27 +0000 (15:38 +0100)]
dt-bindings: mailbox: tegra: Document Tegra234 HSP
Add the compatible string for the HSP block found on the Tegra234 SoC.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:26 +0000 (15:38 +0100)]
dt-bindings: mailbox: tegra: Convert to json-schema
Convert the NVIDIA Tegra HSP bindings from the free-form text format to
json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 19 Nov 2021 14:38:25 +0000 (15:38 +0100)]
dt-bindings: mmc: tegra: Convert to json-schema
Convert the NVIDIA Tegra SDHCI bindings from the free-form text format
to json-schema.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 17 Dec 2021 13:52:37 +0000 (14:52 +0100)]
ARM: tegra: Add host1x hotflush reset on Tegra124
Add the host1x memory client hotflush reset on Tegra124.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 17 Dec 2021 13:51:51 +0000 (14:51 +0100)]
ARM: tegra: Add memory client hotflush resets on Tegra114
Add the host1x, gr2d and gr3d memory client hotflush resets on Tegra114.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Stefan Agner [Thu, 26 Jul 2018 15:40:25 +0000 (17:40 +0200)]
ARM: tegra: Add back gpio-ranges properties
The properties have been commented out to prevent a regression a while
ago. The first regression should be resolved by commit
44af7927316e
("spi: Map SPI OF client IRQ at probe time").
The second regression is probably addressed by commit
494fd7b7ad10
("PM / core: fix deferred probe breaking suspend resume order") and/or
maybe others. Readd the gpio-ranges properties to see whether
regressions still get reported.
This reverts commit
4f1d841475e1 ("ARM: tegra: Comment out gpio-ranges
properties").
Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Tested-by: Dmitry Osipenko <digetx@gmail.com>
[treding@nvidia.com: drop redundant gpio-ranges from Ouya DTS file]
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Sat, 4 Dec 2021 14:37:25 +0000 (17:37 +0300)]
ARM: tegra: paz00: Enable S/PDIF and HDMI audio
Enable S/PDIF controller to enable HDMI audio support on Toshiba AC100.
Use nvidia,fixed-parent-rate property that prevents audio rate conflict
between S/PDIF and I2S.
Tested-by: Agneli <poczt@protonmail.ch>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Sat, 4 Dec 2021 14:37:24 +0000 (17:37 +0300)]
ARM: tegra: acer-a500: Enable S/PDIF and HDMI audio
Enable S/PDIF controller to enable HDMI audio support on Acer A500.
Use nvidia,fixed-parent-rate property that prevents audio rate conflict
between S/PDIF and I2S.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Sat, 4 Dec 2021 14:37:23 +0000 (17:37 +0300)]
ARM: tegra: Add HDMI audio graph to Tegra20 device-tree
Add HDMI audio graph to Tegra20 device-tree to enable HDMI audio on
Tegra20 devices.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Sat, 4 Dec 2021 14:37:22 +0000 (17:37 +0300)]
ARM: tegra: Add S/PDIF node to Tegra20 device-tree
Add S/PDIF node to Tegra20 device-tree. It's needed for enabling HDMI
audio support.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:47 +0000 (02:23 +0300)]
ARM: tegra20/30: Disable unused host1x hardware
MPE, VI, EPP and ISP were never used and we don't have drivers for them.
Since these modules are enabled by default in a device-tree, a device is
created for them, blocking voltage scaling because there is no driver to
bind, and thus, state of PMC driver is never synced. Disable them.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:46 +0000 (02:23 +0300)]
ARM: tegra: Add Memory Client resets to Tegra30 GR2D, GR3D and Host1x
Memory access must be blocked before hardware reset is asserted and before
power is gated, otherwise a serious hardware fault is inevitable. Add
reset for memory clients to the GR2D, GR3D and Host1x nodes.
Tested-by: Peter Geis <pgwipeout@gmail.com> # Ouya T30
Tested-by: Matt Merhar <mattmerhar@protonmail.com> # Ouya T30
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:45 +0000 (02:23 +0300)]
ARM: tegra: Add Memory Client resets to Tegra20 GR2D, GR3D and Host1x
Memory access must be blocked before hardware reset is asserted and before
power is gated, otherwise a serious hardware fault is inevitable. Add
reset for memory clients to the GR2D, GR3D and Host1x nodes.
Tested-by: Paul Fertser <fercerpav@gmail.com> # PAZ00 T20
Tested-by: Nicolas Chauvet <kwizart@gmail.com> # PAZ00 T20
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Tue, 30 Nov 2021 23:23:44 +0000 (02:23 +0300)]
ARM: tegra: Add OPP tables and power domains to Tegra30 device-trees
Add OPP tables and power domains to all peripheral devices which
support power management on Tegra30 SoC.
Tested-by: Peter Geis <pgwipeout@gmail.com> # Ouya T30
Tested-by: Matt Merhar <mattmerhar@protonmail.com> # Ouya T30
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 13 Dec 2021 16:21:51 +0000 (17:21 +0100)]
arm64: tegra: Hook up MMC and BPMP to memory controller
Use the interconnects property to hook up the MMC and BPMP to the memory
controller. This is needed to set the correct bus-level DMA mask, which
is a prerequisite for adding IOMMU support.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 13 Dec 2021 16:21:50 +0000 (17:21 +0100)]
arm64: tegra: Add memory controller on Tegra234
This adds the memory controller and the embedded external memory
controller found on the Tegra234 SoC.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 13 Dec 2021 16:21:49 +0000 (17:21 +0100)]
arm64: tegra: Add EMC general interrupt on Tegra194
Add the missing EMC general interrupt for the external memory controller
on Tegra194.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Prathamesh Shete [Thu, 16 Dec 2021 09:46:10 +0000 (15:16 +0530)]
arm64: tegra: Update SDMMC4 speeds for Tegra194
Add required device-tree properties to populate all speed
modes supported by SDMMC4 instance of Tegra194 SDHCI controller.
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Jon Hunter [Mon, 25 Oct 2021 11:08:42 +0000 (12:08 +0100)]
arm64: tegra: Add dma-coherent for Tegra194 VIC
DMA operations for the Tegra194 Video Image Compositor (VIC) are
coherent and so populate the 'dma-coherent' property.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Wed, 8 Dec 2021 15:29:11 +0000 (16:29 +0100)]
arm64: tegra: Rename Ethernet PHY nodes
Name the Ethernet PHY device tree nodes as expected by the DT schema.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 14:06:19 +0000 (15:06 +0100)]
arm64: tegra: Remove unused only-1-8-v properties
The only-1-8-v property is not support by an DT schema, so drop it.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 14:05:32 +0000 (15:05 +0100)]
arm64: tegra: Sort Tegra210 XUSB clocks correctly
Make the order of the clocks and clock-names properties match the order
in the device tree bindings. This isn't strictly necessary from a point
of view of the operating system because matching will be done based on
the clock-names, but it makes it easier to validate the device trees
against the DT schema.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 14:01:37 +0000 (15:01 +0100)]
arm64: tegra: Add missing TSEC properties on Tegra210
Add missing interrupts, clocks, clock-names, reset and reset-names
properties for the TSEC blocks found on Tegra210.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 22 Mar 2019 13:56:11 +0000 (14:56 +0100)]
arm64: tegra: jetson-nano: Remove extra PLL power supplies for PCIe and XUSB
The XUSB pad controller handles the various PLL power supplies, so
remove any references to them from the PCIe and XUSB controller device
tree nodes.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 22 Mar 2019 13:43:03 +0000 (14:43 +0100)]
arm64: tegra: smaug: Remove extra PLL power supplies for XUSB
The XUSB pad controller handles the various PLL power supplies, so
remove any references to them from the XUSB controller device tree
node.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 22 Mar 2019 13:41:53 +0000 (14:41 +0100)]
arm64: tegra: jetson-tx1: Remove extra PLL power supplies for PCIe and XUSB
The XUSB pad controller handles the various PLL power supplies, so
remove any references to them from the PCIe and XUSB controller device
tree nodes.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:54:48 +0000 (14:54 +0100)]
arm64: tegra: Rename GPIO hog nodes to match schema
GPIO hog nodes must have a "hog-" prefix or "-hog" suffix according to
the DT schema. Rename all such nodes to allow validation to pass.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:53:28 +0000 (14:53 +0100)]
arm64: tegra: Remove unsupported regulator properties
Remove the unsupported "regulator-disable-ramp-delay" properties which
ended up in various DTS files for some reason.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:51:54 +0000 (14:51 +0100)]
arm64: tegra: Rename TCU node to "serial"
The TCU is basically a serial port (albeit a fancy one), so it should be
named "serial".
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:50:44 +0000 (14:50 +0100)]
arm64: tegra: Remove undocumented Tegra194 PCIe "core_m" clock
The "core_m" clock is not documented in the Tegra194 PCIe device tree
bindings, so remove it.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:47:47 +0000 (14:47 +0100)]
arm64: tegra: Drop unused properties for Tegra194 PCIe
The num-viewport property is never used and can be dropped, whereas the
"iommus" property is not needed since we use "iommu-map-mask" and
"iommu-map" already.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:43:20 +0000 (14:43 +0100)]
arm64: tegra: Fix Tegra194 HSP compatible string
The HSP instances on Tegra194 are not fully compatible with the version
found on Tegra186, so drop the fallback compatible string from the list.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:40:59 +0000 (14:40 +0100)]
arm64: tegra: Drop unsupported nvidia,lpdr property
The Tegra194 pinmux DT bindings do not define the nvidia,lpdr property,
so drop them from the device trees that have listed them.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:39:20 +0000 (14:39 +0100)]
arm64: tegra: Use JEDEC vendor prefix for SPI NOR flash chips
The standard "jedec," vendor prefix should be used for SPI NOR flash
chips. This allows the right DT schema to be picked for validation.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:36:35 +0000 (14:36 +0100)]
arm64: tegra: Drop unit-address for audio card graph endpoints
Audio graph endpoints don't have a "reg" property, so they shouldn't
have a unit-address either.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:28:29 +0000 (14:28 +0100)]
arm64: tegra: Adjust length of CCPLEX cluster MMIO region
The Tegra186 CCPLEX cluster register region is 4 MiB is length, not 4
MiB - 1. This was likely presumed to be the "limit" rather than length.
Fix it up.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:27:11 +0000 (14:27 +0100)]
arm64: tegra: Fix Tegra186 compatible string list
The I2C controller found on Tegra186 is not fully compatible with the
Tegra210 version, so drop the fallback compatible string from the list.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:25:50 +0000 (14:25 +0100)]
arm64: tegra: Rename power-monitor input nodes
Child nodes of the TI INA3221 power monitor device tree node should be
called input@* according to the DT schema.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:24:20 +0000 (14:24 +0100)]
arm64: tegra: Rename thermal zones nodes
The DT schema requires that nodes representing thermal zones include a
"-thermal" suffix in their name.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:21:18 +0000 (14:21 +0100)]
arm64: tegra: Sort Tegra132 XUSB clocks correctly
Make the order of the clocks and clock-names properties match the order
in the device tree bindings. This isn't strictly necessary from a point
of view of the operating system because matching will be done based on
the clock-names, but it makes it easier to validate the device trees
against the DT schema.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:20:25 +0000 (14:20 +0100)]
arm64: tegra: Drop unused AHCI clocks on Tegra132
The CML1 and PLL_E clocks are never explicitly used by the AHCI
controller found on Tegra132, so drop them from the corresponding device
tree node.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:19:26 +0000 (14:19 +0100)]
arm64: tegra: Fix Tegra132 I2C compatible string list
The I2C controller found on Tegra124 is not fully compatible with the
Tegra114 version, so drop the fallback compatible string from the list.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:17:07 +0000 (14:17 +0100)]
arm64: tegra: Add OPP tables on Tegra132
Add peripheral OPP tables on Tegra132 and wire them up to ACTMON and the
EMC. While at it, add the missing "#interconnect-cells" properties to
the memory controller and external memory controller nodes. Also set the
"#reset-cells" property for the memory controller because it exports the
hotflush reset controls.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:13:37 +0000 (14:13 +0100)]
arm64: tegra: Fix compatible string for Tegra132 timer
The TKE (time-keeping engine) found on Tegra132 is not backwards
compatible with the version found on Tegra20, so update the compatible
string list accordingly.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:11:53 +0000 (14:11 +0100)]
arm64: tegra: Remove unsupported properties on Norrin
The Tegra PMC device tree bindings don't support the "#wake-cells" and
"nvidia,reset-gpio" properties, so remove them.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Tue, 7 Dec 2021 13:10:00 +0000 (14:10 +0100)]
arm64: tegra: Fix unit-addresses on Norrin
The AS3722 pinmux device tree node doesn't have a "reg" property and
therefore must not have a unit-address, so drop it.
While at it, add missing unit-addresses for the charger and smart
battery IC's on the ChromeOS embedded controller's I2C tunnel bus.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Thu, 19 Mar 2020 15:45:38 +0000 (16:45 +0100)]
arm64: tegra: Add native timer support on Tegra186
The native timers IP block found on NVIDIA Tegra SoCs implements a
watchdog timer that can be used to recover from system hangs. Add the
device tree node on Tegra186.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 6 Dec 2021 17:02:18 +0000 (18:02 +0100)]
arm64: tegra: Rename top-level regulators
Regulators defined at the top level in device tree are no longer part of
a simple bus and therefore don't have a reg property. Nodes without a
reg property shouldn't have a unit-address either, so drop the unit
address from the node names. To ensure nodes aren't duplicated (in which
case they would end up merged in the final DTB), append the name of the
regulator to the node name.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 6 Dec 2021 16:58:55 +0000 (17:58 +0100)]
arm64: tegra: Rename top-level clocks
Clocks defined at the top level in device tree are no longer part of a
simple bus and therefore don't have a reg property. Nodes without a reg
property shouldn't have a unit-address either, so drop the unit address
from the node names. To ensure nodes aren't duplicated (in which case
they would end up merged in the final DTB), append the name of the clock
to the node name.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Jon Hunter [Wed, 1 Dec 2021 15:57:16 +0000 (15:57 +0000)]
arm64: tegra: Add ISO SMMU controller for Tegra194
The display controllers are attached to a separate ARM SMMU instance
that is dedicated to servicing isochronous memory clients. Add this ISO
instance of the ARM SMMU to device tree.
Please note that the display controllers are not hooked up to this SMMU
yet, because we are still missing a means to transition framebuffers
used by the bootloader to the kernel.
This based upon an initial patch by Thierry Reding <treding@nvidia.com>.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Jon Hunter [Wed, 17 Nov 2021 09:56:08 +0000 (09:56 +0000)]
arm64: tegra: Add NVENC and NVJPG nodes for Tegra186 and Tegra194
Populate the device-tree nodes for NVENC and NVJPG Host1x engines on
Tegra186 and Tegra194.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Prathamesh Shete [Tue, 16 Nov 2021 12:02:36 +0000 (17:32 +0530)]
arm64: tegra: Add support to enumerate SD in UHS mode
Add support to enumerate SD in UHS mode on Tegra194. Add required
device-tree properties in SDMMC1 and SDMMC3 instances to enable dynamic
pad voltage switching and enumerate SD card in UHS-I modes.
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:42 +0000 (13:35 +0100)]
arm64: tegra: Add NVIDIA Jetson AGX Orin Developer Kit support
The Jetson AGX Orin Developer Kit is a continuation of the Jetson
Developer Kit line using the new NVIDIA Tegra234 (Orin) SoC.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 12 Nov 2021 13:19:04 +0000 (14:19 +0100)]
arm64: tegra: Describe Tegra234 CPU hierarchy
The NVIDIA Tegra234 SoC has 3 clusters of 4 Cortex-A78AE CPU cores each,
for a total of 12 CPUs. Each CPU has 64 KiB instruction and data caches
with each cluster having an additional 256 KiB unified L2 cache and a 2
MiB L3 cache.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 10 Dec 2021 16:02:05 +0000 (17:02 +0100)]
arm64: tegra: Add main and AON GPIO controllers on Tegra234
These two controllers expose general purpose I/O pins that can be used
to control or monitor a variety of signals.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:41 +0000 (13:35 +0100)]
arm64: tegra: Add Tegra234 TCU device
Add a device for TCU (Tegra Combined UART) used for serial console.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:40 +0000 (13:35 +0100)]
arm64: tegra: Fill in properties for Tegra234 eMMC
Add missing properties to the eMMC controller, as required to use it on
actual hardware.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:39 +0000 (13:35 +0100)]
arm64: tegra: Update Tegra234 BPMP channel addresses
On final Tegra234 systems, shared memory for communication with BPMP is
located at offset 0x70000 in SYSRAM.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:38 +0000 (13:35 +0100)]
arm64: tegra: Add clock for Tegra234 RTC
The RTC device requires a clock. Add it.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 12 Nov 2021 12:35:37 +0000 (13:35 +0100)]
arm64: tegra: Fixup SYSRAM references
The json-schema bindings for SRAM expect the nodes to be called "sram"
rather than "sysram" or "shmem". Furthermore, place the brackets around
the SYSRAM references such that a two-element array is created rather
than a two-element array nested in a single-element array. This is not
relevant for device tree itself, but allows the nodes to be properly
validated against json-schema bindings.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Thu, 16 Dec 2021 15:50:49 +0000 (16:50 +0100)]
Merge tag 'tegra-for-5.17-dt-bindings-memory' into for-5.17/arm64/dt
dt-bindings: memory: Add Tegra234 support
This stable tag contains the addition of the EMC clock ID and an initial
list of memory client IDs for Tegra234 and will be shared between the
memory and ARM SoC trees.
Thierry Reding [Mon, 13 Dec 2021 16:21:48 +0000 (17:21 +0100)]
memory: tegra: Add Tegra234 support
The memory controller and external memory controller found on Tegra234
is similar to the version found on earlier SoCs but supports a number of
new memory clients.
Add initial memory client definitions for the Tegra234 so that the SMMU
stream ID override registers can be properly programmed at boot time.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Thu, 16 Dec 2021 15:47:19 +0000 (16:47 +0100)]
Merge tag 'tegra-for-5.17-dt-bindings-memory' into for-5.17/memory
dt-bindings: memory: Add Tegra234 support
This stable tag contains the addition of the EMC clock ID and an initial
list of memory client IDs for Tegra234 and will be shared between the
memory and ARM SoC trees.
Thierry Reding [Fri, 19 Nov 2021 14:38:24 +0000 (15:38 +0100)]
dt-bindings: misc: Convert Tegra MISC to json-schema
Convert the device tree bindings for the MISC register block found on
NVIDIA Tegra SoCs from plain text to json-schema format.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 13 Dec 2021 16:21:47 +0000 (17:21 +0100)]
dt-bindings: memory: tegra: Add Tegra234 support
Document the variant of the memory controller and external memory
controllers found on Tegra234 and add some memory client and SMMU
stream ID definitions for use in device tree files.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Jon Hunter [Wed, 17 Nov 2021 09:56:07 +0000 (09:56 +0000)]
dt-bindings: Add YAML bindings for NVENC and NVJPG
Add YAML device tree bindings for the Tegra NVENC and NVJPG Host1x
engines.
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Mon, 13 Dec 2021 16:21:46 +0000 (17:21 +0100)]
dt-bindings: memory: tegra: Update for Tegra194
The #interconnect-cells properties are required to hook up memory
clients to the MC/EMC in interconnects properties. Add a description for
these properties.
For the nested EMC controller, the list of required properties was
missing. Add it so that the validation can be more strict.
Also, allow multiple reg entries required by Tegra194 and later.
While at it, also remove the dummy BPMP node from the example because it
is incomplete and fails validation. It's also not necessary for this
file and the BPMP DT schema already has a full example.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 12 Nov 2021 12:35:35 +0000 (13:35 +0100)]
dt-bindings: sram: Document NVIDIA Tegra SYSRAM
Tegra SoCs have extra on-chip RAM that can be used for inter-processor
communication. Tegra186 and later make use of it to establish a two-way
channel between the CCPLEX and BPMP. Add missing compatible strings for
Tegra186 and Tegra194 as well as a new compatible string for Tegra234.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Mikko Perttunen [Fri, 12 Nov 2021 12:35:34 +0000 (13:35 +0100)]
dt-bindings: Update headers for Tegra234
Add a few more clocks that will be used in follow-up patches to enable
more functionality on Tegra234.
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 12 Nov 2021 12:35:33 +0000 (13:35 +0100)]
dt-bindings: tegra: Document Jetson AGX Orin (and devkit)
Add the compatible strings for the Jetson AGX Orin and the
corresponding developer kit.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Thierry Reding [Fri, 12 Nov 2021 12:35:32 +0000 (13:35 +0100)]
dt-bindings: tegra: Describe recent developer kits consistently
Add descriptions to entries that were missing one and don't try to
combine multiple entries into one to avoid confusion.
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Dmitry Osipenko [Sat, 4 Dec 2021 14:37:21 +0000 (17:37 +0300)]
ARM: config: multi v7: Enable NVIDIA Tegra20 APB DMA driver
All Tegra20/30/114 serial and audio drivers depend on the Tegra20 APB DMA
driver, enable this DMA driver.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>