pmaports/device/linux-samsung-i927/0036-ARM-dts-tegra20-glide-Fix-UART-bindings.patch
Sergey Larin 53d13cb4c8
samsung-i927: various improvements (!238)
- Bluetooth is now working
- Audio works too (speaker/headphones/earpiece/mic - internal and headset)
- Keyboard layout for X11
- Xorg config for rotated screen
- Suspend issues fixed (tested on MATE)
- OTG bindings updated - not working yet
2019-02-28 15:18:50 +01:00

128 lines
3.1 KiB
Diff

From f2965a337e9971f338d663fc5baa19d08865acad Mon Sep 17 00:00:00 2001
From: Sergey Larin <cerg2010cerg2010@mail.ru>
Date: Sat, 23 Feb 2019 21:03:21 +0300
Subject: [PATCH] ARM: dts: tegra20-glide: Fix UART bindings
Old UART bindings were broken. This commit also fixes
Bluetooth and GPS (you will need a userspace tool to use it).
Signed-off-by: Sergey Larin <cerg2010cerg2010@mail.ru>
---
arch/arm/boot/dts/tegra20-glide.dts | 87 ++++++++++++++++-------------
1 file changed, 49 insertions(+), 38 deletions(-)
diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts
index f2b1805fc8cf..751c67924310 100644
--- a/arch/arm/boot/dts/tegra20-glide.dts
+++ b/arch/arm/boot/dts/tegra20-glide.dts
@@ -4,44 +4,6 @@
#include <dt-bindings/input/input.h>
#include "tegra20.dtsi"
-// GPS
-&uarta {
- status = "okay";
-
- gnss {
- // Actual chip is unknown
- // (I don't want to teardown this thing)
- compatible = "wi2wi,w2sg0084i";
-
- sirf,onoff-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
- // reset GPIO: B2
- // Also depends on this, but no way to specify it
- clocks = <&tegra_car TEGRA20_CLK_BLINK>;
- };
-
-};
-
-// Debug console
-&uartb {
- status = "okay";
-};
-
-// Bluetooth
-&uartc {
- status = "okay";
-
- bluetooth {
- // can be changed to 4330 in linux v5.0
- compatible = "brcm,bcm43438-bt";
- max-speed = <921600>;
- shutdown-gpios = <&gpio TEGRA_GPIO(J, 5) GPIO_ACTIVE_HIGH>;
- device-wakeup-gpios = <&gpio TEGRA_GPIO(S, 1) GPIO_ACTIVE_HIGH>;
- host-wakeup-gpios = <&gpio TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
- clock-names = "lpo";
- clocks = <&tegra_car TEGRA20_CLK_BLINK>;
- };
-};
-
/ {
model = "Samsung SGH-I927 Captivate Glide";
compatible = "samsung,i927", "nvidia,tegra20";
@@ -50,6 +12,8 @@
rtc0 = "/i2c@7000d000/max8907@3c";
rtc1 = "/rtc@7000e000";
serial0 = &uartb;
+ serial1 = &uarta;
+ serial2 = &uartc;
};
chosen {
@@ -478,6 +442,53 @@
status = "okay";
};
+ // GPS
+ serial@70006000 {
+ compatible = "nvidia,tegra20-hsuart";
+ status = "okay";
+
+ /*
+ * Wakeup GPIO is needed for kernel driver to work,
+ * but we don't have one... There's GPIO_GPS_CNTL in
+ * original kernel, but it's not used.
+ */
+#if 0
+ gnss {
+ // Actual chip is unknown
+ // (I don't want to teardown this thing)
+ compatible = "wi2wi,w2sg0084i";
+
+ sirf,onoff-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>;
+ // reset GPIO: B2
+ // Also depends on this, but no way to specify it
+ clocks = <&tegra_car TEGRA20_CLK_BLINK>;
+ };
+#endif
+ };
+
+ // Debug console
+ serial@70006040 {
+ status = "okay";
+ };
+
+ // Bluetooth
+ serial@70006200 {
+ compatible = "nvidia,tegra20-hsuart";
+ status = "okay";
+
+ bluetooth {
+ // can be changed to 4330 in linux v5.0
+ compatible = "brcm,bcm43438-bt";
+ max-speed = <921600>;
+ shutdown-gpios = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
+ device-wakeup-gpios = <&gpio TEGRA_GPIO(S, 1) GPIO_ACTIVE_HIGH>;
+ host-wakeup-gpios = <&gpio TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
+ clocks = <&tegra_car TEGRA20_CLK_UARTC>;
+ clock-names = "uartc";
+
+ };
+ };
+
serial@70006040 {
status = "okay";
};
--
2.20.1