From 5d5cf4cb138bc06ff76b64f3970af87836451e4a Mon Sep 17 00:00:00 2001 From: Sergey Larin Date: Thu, 20 Jun 2019 19:54:17 +0300 Subject: [PATCH] ARM: dts: tegra20-glide: Fixup GPS binding Still doesn't work - UART controller does not detect any transfers, so we're probably unsupported with kernel SiRF driver. The chip appears to be GSD4t. Signed-off-by: Sergey Larin --- arch/arm/boot/dts/tegra20-glide.dts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/tegra20-glide.dts b/arch/arm/boot/dts/tegra20-glide.dts index 107efb68c99e..b55effa69fbe 100644 --- a/arch/arm/boot/dts/tegra20-glide.dts +++ b/arch/arm/boot/dts/tegra20-glide.dts @@ -445,8 +445,13 @@ // GPS serial@70006000 { - compatible = "nvidia,tegra20-hsuart"; + // I get a DMA error when HSUART is enabled, fall back to 8250 + // Also I get mysterious timed-out errors, no matter what GPIOs are. + // compatible = "nvidia,tegra20-hsuart"; status = "okay"; + current-speed = <115200>; + // current-speed = <460800>; + // current-speed = <9600>; /* * Wakeup GPIO is needed for kernel driver to work, @@ -461,8 +466,10 @@ sirf,onoff-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; // reset GPIO: B2 + // sirf,onoff-gpios = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_LOW>; // Also depends on this, but no way to specify it clocks = <&tegra_car TEGRA20_CLK_BLINK>; + vcc-supply = <&gps_en>; }; #endif }; @@ -1380,8 +1387,17 @@ gpio = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>; enable-active-high; }; - }; + gps_en: regulator@4 { + compatible = "regulator-fixed"; + reg = <4>; + regulator-name = "gps-en"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + // gpio = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_HIGH>; + // gpio = <&gpio TEGRA_GPIO(B, 2) GPIO_ACTIVE_HIGH>; + }; + }; sound { compatible = "nvidia,tegra-audio-wm8994"; -- 2.22.0