Commit graph

29 commits

Author SHA1 Message Date
Tomasz Maciej Nowak
8f4c834d89 ARM: tegra: Wire up two front panel LEDs on TrimSlice
Pins responsible for controlling these LEDs need to have tristate
control removed if we want them as GPIOs. This change aligns with
pinmux configuration of "dte" pin group in downstream kernel[1].
These LEDs had no function assigned on vendor kernel and there is no
label on the case, the only markings are on PCB which are part of node
names (ds1 marking is on power LED controlled by PMIC), so generic term
is assigned as the function.

1. https://github.com/compulab/trimslice-android-kernel/blob/upstream/arch/arm/mach-tegra/board-trimslice-pinmux.c#L45

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:36:39 +02:00
Svyatoslav Ryhel
c6d17e1a42 ARM: tegra: tf701t: Configure USB
Fixes issue when resuming after suspend made USB in peripheral
mode inaccessible.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
8c80f44126 ARM: tegra: tf701t: Use dedicated backlight regulator
Downstream kernel states that backlight has no actual enable GPIO
and uses fixed regulator.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
003b99aa30 ARM: tegra: tf701t: Re-group GPIO keys
Group GPIO keys into keys and switches.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
1731cbba9f ARM: tegra: tf701t: Bind WIFI SDIO and EMMC
Add MMC nodes configuration along with WIFI binding to ASUS TF701T
device-tree.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
e4cee35431 ARM: tegra: tf701t: Complete sound bindings
With these changes sound works, only UCM configs are needed for
complete support.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
c79e35e606 ARM: tegra: tf701t: Adjust sensors nodes
Complete and adjust magnetometer, thermal sensor, motion tracker,
power and light sensors according to available sources.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
6ca426a095 ARM: tegra: tf701t: Add Bluetooth node
Add serial node along with bluetooth node to ASUS TF701T device-tree.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
fceb6acd5d ARM: tegra: tf701t: Add HDMI bindings
Add HDMI nodes to ASUS TF701T device-tree.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
1f02c9fb3a ARM: tegra: tf701t: Correct and complete PMIC and PMC bindings
Add missing parts of PMIC complex, extend PMC binding and add missing
fixed regulators. Additionally, refresh naming to better reflect
regulator purpose.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
984d444a10 ARM: tegra: tf701t: Bind VDE device
Add Video Decoder Engine node to ASUS TF701T device-tree.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:28 +02:00
Svyatoslav Ryhel
b457e191a7 ARM: tegra: tf701t: Use unimomentary pinmux setup
Mimic original downstream board behavior to set up all pinmux at once.
Per-device pinmux is good but we have no complete board schematics
to allow such luxury.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-08-29 17:16:23 +02:00
Mohammad Shehar Yaar Tausif
ff4d7e1721 ARM: tegra: tegra20-ac97: Replace deprecated "gpio" suffix
Replace "gpio" suffix with "gpios" for tegra20-ac97 DTS as the "gpio"
suffix is deprecated.

Signed-off-by: Mohammad Shehar Yaar Tausif <sheharyaar48@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-04-26 17:45:18 +02:00
Nicolas Chauvet
3394cc0e38 ARM: tegra: paz00: Add emc-tables for ram-code 1
The same table as ram-code 0 operates correctly on ram-code 1

v2: rebase on current kernel

Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-04-26 17:14:35 +02:00
Arnd Bergmann
2d56bb99b6 ARM: tegra: Device tree changes for v6.9-rc1
Add support for the LG Optimus 4X HD and LG Optimus VU devices and clean
 up some minor issues.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmXY1mUACgkQ3SOs138+
 s6E7Lw/7BQTi/ofcVRVjp5TdVXUov3HkB7KeCxUfH+1J7KQxV2bP5LuuOunqBgAP
 E8We0pUp71tJHZV3uVzaLNv0IkDG9/ARuXGKQjdH20nN7ix9ubbEwofmx4INIUgN
 raFrTOg7DtFWsP1rputkfb7kXhv4XEe3lo52wH416l/HCaloJITyJCMYGkmWoaJU
 Up+XuwxB6TpbsUtqt8pZnUVCvOMAkz9L3i21MNmlbPmROH6o7riJHkjVo1Gq3iTl
 vAoKJZiMNRXWJEw+3/YCtd3ATa3/P5U+P1e6jS9SnmEJEISXna9C0qZWn6YJ8L+5
 3As+QClzyxSKMpHS6GdRiGVLgk/kIfsRC279Wv5RsxTGxRcECPTk+jh0fJOdgXYi
 hBALSQ5Leb9Ipq5NxP3DjRWraaN+ZCHVvtW3RJuunEAL8iu+G/wmAmuP+K2Hda5J
 cGoYc1XWnE+ASlK0lfv4/XDmL0WTTy5jlrvddEkAVPJn4s68f8SWCR/dS848ZxOW
 W2vaoWOWz1qUdNgfkgQ8zJK5Laseb/EGzS7BVQxmYwnEs3A/Ri6CVQZfeA19O4fP
 4Uufr13P4hdci8wal9v7s6lpig97c0zKGWqI+SFVBLGFNNYuh9bVQ9q1w85uOSwF
 ymSVvy+RP7h45PZY1Qnx2DvhiLBOK8hKYRsYZLWd/J5qmteDCBo=
 =c6vf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXgtQoACgkQYKtH/8kJ
 UicPKw/+LrmNzKQQLoWYT2/VEvSY463T9UvxIv4iYwVQRVyYT/ellmwBttjIkkIv
 ytrrJVJF7pqWPHn6a+EP9/cSWLDIF1i1P+rkR4toqvybnmOfiYPBmU1YUhcCVbJc
 a3QlZqtOUcmlsenWU11BGEYBTibVObDOF68xpzKYlqeTFW4ZIIUe1HxjOuH3/IYW
 vFy3BdhhMlgUYcfmUF6Mozc6sPQDlZFgXZ8Kul3m3WLeKTEKqfSXV1CRskirozOd
 1Isz4VnPc2uyq6U5LpfWLpWVHztwAe5tdcRC3RcsPweZyvbDR0hZ6QiU0RDto7Z0
 eCLIRcLw9soSgpOqPTIZW+PUr6ey57eFq8yGe59pyfOrilFYjSzOD611kEzyOaS4
 iFasuM4WHS4Pr5K8KdWpwi5vRF0L7hvWbVgomXBW9TPigKdlrgKPRPRVm4exKEI8
 h2D9TlN6SsmX15ffMX77ffa2TpEDJ0HgRGPd1yFgFXUNGs9OT/rk/FW2ujmQssnX
 +/EAURI+6vwew8J9Qo2QUflr8sDtkArzNR2pzTvwMVOiI+/2YBHQHPAvi5qh83cC
 8Uh8mManX8v2vfhMN5Vzr6cDtZtohC/ogJ7Ou5m/ld/TsD9OGFMTKT2vDq2jXDc4
 I2AfxJHHVKnDCYpYU/wv0jJXc4gTLsuhcMxsCBH95kjzMeCH1Oc=
 =y+q1
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

ARM: tegra: Device tree changes for v6.9-rc1

Add support for the LG Optimus 4X HD and LG Optimus VU devices and clean
up some minor issues.

* tag 'tegra-for-6.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Add device-tree for LG Optimus 4X HD (P880)
  ARM: tegra: Add device-tree for LG Optimus Vu (P895)
  ARM: tegra: nexus7: Add missing clock binding into sound node
  ARM: tegra: Enable cros-ec-spi as wake source

Link: https://lore.kernel.org/r/20240223174849.1509465-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-29 17:47:06 +01:00
Svyatoslav Ryhel
ea5e97e9ce ARM: tegra: Add device-tree for LG Optimus 4X HD (P880)
Add device-tree for LG Optimus 4X HD P880, which is a NVIDIA
Tegra30-based smartphone, originally running Android.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-02-22 18:20:45 +01:00
Svyatoslav Ryhel
b68e6e0d50 ARM: tegra: Add device-tree for LG Optimus Vu (P895)
Add device-tree for LG Optimus Vu P895, which is a NVIDIA
Tegra30-based smartphone, originally running Android.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-02-22 18:20:45 +01:00
Robert Eckelmann
f7874e1706 ARM: tegra: nexus7: Add missing clock binding into sound node
A recent rt5640 codec update requires mclk definition in the
device tree. Without mclk defined sound will not work.

Signed-off-by: Robert Eckelmann <longnoserob@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-02-22 18:20:37 +01:00
Rob Herring
96fd598e9c
arm: dts: Fix dtc interrupt_provider warnings
The dtc interrupt_provider warning is off by default. Fix all the warnings
so it can be enabled.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> #Broadcom
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20240213-arm-dt-cleanups-v1-2-f2dee1292525@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-02-20 21:47:41 +01:00
Mark Hasemeyer
a6e0afc29a ARM: tegra: Enable cros-ec-spi as wake source
The cros_ec driver currently assumes that cros-ec-spi compatible device
nodes are a wakeup-source even though the wakeup-source property is not
defined.

Some Chromebooks use a separate wake pin, while others overload the
interrupt for wake and IO. With the current assumption, spurious wakes
can occur on systems that use a separate wake pin. It is planned to
update the driver to no longer assume that the EC interrupt pin should
be enabled for wake.

Add the wakeup-source property to all cros-ec-spi compatible device
nodes to signify to the driver that they should still be a valid wakeup
source.

Signed-off-by: Mark Hasemeyer <markhas@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-02-16 12:30:05 +01:00
Linus Walleij
26e91f61d6
ASoC: tegra: tegra20_ac97: Convert to use GPIO descriptors
The Tegra20 AC97 driver is using the legacy GPIO APIs in
<linux/of_gpio.h> and <linux/gpio.h> to obtain GPIOs for reset
and sync.

Convert it over and fix the polarity error on the RESET line
in the process: this reset line is clearly active low. Just
fix the one in-tree device tree site using it at the same
time.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://msgid.link/r/20231214-gpio-descriptors-sound-misc-v1-4-e3004176bd8b@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-12-18 14:03:32 +00:00
Maxim Schwalm
3c2508d3ce ARM: tegra: Drop unit-address from parallel RGB output port
Fix the following W=1 build warning:
"Warning (unit_address_vs_reg): /host1x@50000000/dc@54200000/rgb/port@0:
 node has a unit name, but no reg or ranges property"

Signed-off-by: Maxim Schwalm <maxim.schwalm@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-10-10 17:43:48 +02:00
Thierry Reding
c9a706ab22 ARM: tegra: Provide specific compatible string for Nexus 7 panel
panel-lvds alone is not a valid compatible string and we always need a
specific compatible string as well. Nexus 7 can come with one of (at
least) two panels, so pick one of them as the specific compatible
string.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-27 17:15:43 +02:00
Thierry Reding
b28d3af99a ARM: tegra: Use Hannstar HSD101PWW2 on Pegatron Chagall
The LVDS bindings require a specific compatible string in addition to
the generic "panel-lvds". Add the HannStar HSD101PWW2 which is used on
a similar device (ASUS TF201) and seems to work fine with slightly
modified timings in DT.

Suggested-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-27 17:15:27 +02:00
Thierry Reding
ba9858c53a ARM: tegra: Reuse I2C3 for NVEC
Instead of duplicating the I2C3 node and adding NVEC specific
properties, reuse the I2C3 node, extend it with NVEC specific properties
and drop properties that are not needed by NVEC. This results in a DTB
that is a bit cleaner and avoids accidentally using I2C3 and NVEC which
would have them fight over the same hardware resources.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-27 17:14:32 +02:00
Thierry Reding
500b861da5 ARM: tegra: Add missing reset-names for Tegra HS UART
The device tree bindings for the Tegra high-speed UART require the
reset-names property, so add it whenever the compatible string for the
serial port is overwritten.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-21 16:02:33 +02:00
Thierry Reding
c298438a5e ARM: tegra: Remove reset-names for UART devices
The UART devices found on Tegra chips have a single reset connected to
them, so a reset-names property isn't needed. In fact, the device tree
bindings don't allow this property, so remove them to allow the nodes
to be properly validated.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-21 16:02:30 +02:00
Thierry Reding
9766116a12 ARM: tegra: Remove dmas and dma-names for debug UART
The debug UART doesn't support DMA and the DT bindings prohibit the use
of the dmas and dma-names properties for it, so remove them.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2023-07-21 16:02:29 +02:00
Rob Herring
724ba67515 ARM: dts: Move .dts files to vendor sub-directories
The arm dts directory has grown to 1559 boards which makes it a bit
unwieldy to maintain and use. Past attempts stalled out due to plans to
move .dts files out of the kernel tree. Doing that is no longer planned
(any time soon at least), so let's go ahead and group .dts files by
vendors. This move aligns arm with arm64 .dts file structure.

There's no change to dtbs_install as the flat structure is maintained on
install.

The naming of vendor directories is roughly in this order of preference:
- Matching original and current SoC vendor prefix/name (e.g. ti, qcom)
- Current vendor prefix/name if still actively sold (SoCs which have
  been aquired) (e.g. nxp/imx)
- Existing platform name for older platforms not sold/maintained by any
  company (e.g. gemini, nspire)

The whole move was scripted with the exception of MAINTAINERS and a few
makefile fixups.

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Michal Simek <michal.simek@amd.com> #Xilinx
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Paul Barker <paul.barker@sancloud.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Wei Xu <xuwei5@hisilicon.com> #hisilicon
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nick Hawkins <nick.hawkins@hpe.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Peter Rosin <peda@axentia.se>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com> #broadcom
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
Acked-by: Patrice Chotard <patrice.chotard@foss.st.com>
Acked-by: Romain Perier <romain.perier@gmail.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Acked-by: Shawn Guo <shawnguo@kernel.org>
Acked-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2023-06-21 11:39:50 -06:00