~postmarketos/upstreaming

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch
9 2

[PATCH 0/7] ARM: dts: qcom: msm8974: klte: Enable some hardware

Iskren Chernev
Details
Message ID
<20200630140912.260294-1-iskren.chernev@gmail.com>
DKIM signature
pass
Download raw message
Enable support for various hw found on the Samsung Galaxy S5:
- touchkey (the two buttons around the home button)
- touchscreen
- notification led
- wifi
- external SD card

Please note that for working wifi the correct firmware is needed. Check [1]
for links and locations.

Also note, that to actually run a mainline kernel on the klte, you'd need
to apply this patch [2]. Any feedback on getting this to run on pure
mainline are welcome.

[1] https://gitlab.com/postmarketOS/pmaports/-/blob/master/firmware/firmware-samsung-klte/APKBUILD
[2] https://gitlab.com/postmarketOS/linux-postmarketos/-/commit/765f55b248cd3b231af8431fe2f2aeca263b4e4b

Iskren Chernev (7):
  ARM: dts: qcom: msm8974-klte: Merge pinctrl nodes
  ARM: dts: qcom: msm8974-klte: Add support for touchkey
  ARM: dts: qcom: msm8974-klte: Add support for touchscreen
  ARM: dts: qcom: msm8974-klte: Add support for led
  ARM: dts: qcom: msm8974-klte: Add gpio expander chip
  ARM: dts: qcom: msm8974-klte: Add support for wifi
  ARM: dts: qcom: msm8974-klte: Add support for SD card

 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 301 +++++++++++++++++-
 1 file changed, 292 insertions(+), 9 deletions(-)


base-commit: c28e58ee9dadc99f79cf16ca805221feddd432ad
--
2.27.0

[PATCH 1/7] ARM: dts: qcom: msm8974-klte: Merge pinctrl nodes

Iskren Chernev
Details
Message ID
<20200630140912.260294-2-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +10 -12
commit cd13c72c1853 ("ARM: dts: qcom: msm8974-klte: Add max77826 pmic
node") and commit 8bf7a360a92c ("ARM: dts: qcom: msm8974-klte: Add sdhci1
node") both added pinctrl node. This patch merges the two nodes.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 22 +++++++++----------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index d4dc98214225a..9520c6e7910ce 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -258,6 +258,16 @@ cmd-data {
				bias-pull-up;
			};
		};

		i2c6_pins: i2c6 {
			mux {
				pins = "gpio29", "gpio30";
				function = "blsp_i2c6";

				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	sdhci@f9824900 {
@@ -298,18 +308,6 @@ phy@a {
		};
	};

	pinctrl@fd510000 {
		i2c6_pins: i2c6 {
			mux {
				pins = "gpio29", "gpio30";
				function = "blsp_i2c6";

				drive-strength = <2>;
				bias-disable;
			};
		};
	};

	i2c@f9928000 {
		status = "okay";

--
2.27.0

[PATCH 2/7] ARM: dts: qcom: msm8974-klte: Add support for touchkey

Iskren Chernev
Details
Message ID
<20200630140912.260294-3-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +43 -1
Add support for the touchkey found on the Samsung Galaxy S5. The
touchkey is responsible for handling the application and back buttons
found around the home button.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 44 ++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 9520c6e7910ce..750e2f261139a 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -145,7 +145,7 @@ pma8084_l18: l18 {
					};

					pma8084_l19: l19 {
						regulator-min-microvolt = <2900000>;
						regulator-min-microvolt = <3300000>;
						regulator-max-microvolt = <3300000>;
					};

@@ -203,6 +203,31 @@ pma8084_l27: l27 {
		};
	};

	i2c-gpio-touchkey {
		compatible = "i2c-gpio";
		#address-cells = <1>;
		#size-cells = <0>;
		sda-gpios = <&msmgpio 95 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		scl-gpios = <&msmgpio 96 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c_touchkey_pins>;

		touchkey@20 {
			compatible = "cypress,tm2-touchkey";
			reg = <0x20>;

			interrupt-parent = <&pma8084_gpios>;
			interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
			pinctrl-names = "default";
			pinctrl-0 = <&touchkey_pin>;

			vcc-supply = <&max77826_ldo15>;
			vdd-supply = <&pma8084_l19>;

			linux,keycodes = <KEY_APPSELECT KEY_BACK>;
		};
	};

	/delete-node/ vreg-boost;
};

@@ -268,6 +293,15 @@ mux {
				bias-disable;
			};
		};

		i2c_touchkey_pins: i2c-touchkey {
			mux {
				pins = "gpio95", "gpio96";
				function = "gpio";
				input-enable;
				bias-pull-up;
			};
		};
	};

	sdhci@f9824900 {
@@ -418,6 +452,14 @@ gpio_keys_pin_a: gpio-keys-active {
				bias-pull-up;
				power-source = <PMA8084_GPIO_S4>;
			};

			touchkey_pin: touchkey-int-pin {
				pins = "gpio6";
				function = "normal";
				bias-disable;
				input-enable;
				power-source = <PMA8084_GPIO_S4>;
			};
		};
	};
};
-- 
2.27.0

[PATCH 3/7] ARM: dts: qcom: msm8974-klte: Add support for touchscreen

Iskren Chernev
Details
Message ID
<20200630140912.260294-4-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +54 -0
Add support for the touchscreen found on the Samsung Galaxy S5.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 54 +++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 750e2f261139a..085636f182d01 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -284,6 +284,16 @@ cmd-data {
			};
		};

		i2c2_pins: i2c2 {
			mux {
				pins = "gpio6", "gpio7";
				function = "blsp_i2c2";

				drive-strength = <2>;
				bias-disable;
			};
		};

		i2c6_pins: i2c6 {
			mux {
				pins = "gpio29", "gpio30";
@@ -342,6 +352,42 @@ phy@a {
		};
	};

	i2c@f9924000 {
		status = "okay";

		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_pins>;

		touchscreen@20 {
			compatible = "syna,rmi4-i2c";
			reg = <0x20>;

			interrupt-parent = <&pma8084_gpios>;
			interrupts = <8 IRQ_TYPE_EDGE_FALLING>;

			vdd-supply = <&max77826_ldo13>;
			vio-supply = <&pma8084_lvs2>;

			pinctrl-names = "default";
			pinctrl-0 = <&touch_pin>;

			syna,startup-delay-ms = <100>;

			#address-cells = <1>;
			#size-cells = <0>;

			rmi4-f01@1 {
				reg = <0x1>;
				syna,nosleep-mode = <1>;
			};

			rmi4-f12@12 {
				reg = <0x12>;
				syna,sensor-type = <1>;
			};
		};
	};

	i2c@f9928000 {
		status = "okay";

@@ -460,6 +506,14 @@ touchkey_pin: touchkey-int-pin {
				input-enable;
				power-source = <PMA8084_GPIO_S4>;
			};

			touch_pin: touchscreen-int-pin {
				pins = "gpio8";
				function = "normal";
				bias-disable;
				input-enable;
				power-source = <PMA8084_GPIO_S4>;
			};
		};
	};
};
-- 
2.27.0

[PATCH 4/7] ARM: dts: qcom: msm8974-klte: Add support for led

Iskren Chernev
Details
Message ID
<20200630140912.260294-5-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +48 -0
The klte uses a Panasonic AN30259A LED controller for it's indicator
led.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 48 +++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 085636f182d01..7b398da9b75ed 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -4,6 +4,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "Samsung Galaxy S5";
@@ -228,6 +229,44 @@ touchkey@20 {
		};
	};

	i2c-gpio-led {
		compatible = "i2c-gpio";
		#address-cells = <1>;
		#size-cells = <0>;
		scl-gpios = <&msmgpio 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		sda-gpios = <&msmgpio 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c_led_pins>;

		i2c-gpio,delay-us = <2>;

		led-controller@30 {
			compatible = "panasonic,an30259a";
			reg = <0x30>;

			#address-cells = <1>;
			#size-cells = <0>;

			led@1 {
				reg = <1>;
				function = LED_FUNCTION_STATUS;
				color = <LED_COLOR_ID_RED>;
			};

			led@2 {
				reg = <2>;
				function = LED_FUNCTION_STATUS;
				color = <LED_COLOR_ID_GREEN>;
			};

			led@3 {
				reg = <3>;
				function = LED_FUNCTION_STATUS;
				color = <LED_COLOR_ID_BLUE>;
			};
		};
	};

	/delete-node/ vreg-boost;
};

@@ -312,6 +351,15 @@ mux {
				bias-pull-up;
			};
		};

		i2c_led_pins: i2c-led {
			mux {
				pins = "gpio120", "gpio121";
				function = "gpio";
				input-enable;
				bias-pull-down;
			};
		};
	};

	sdhci@f9824900 {
-- 
2.27.0

[PATCH 5/7] ARM: dts: qcom: msm8974-klte: Add gpio expander chip

Iskren Chernev
Details
Message ID
<20200630140912.260294-6-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +27 -2
The Samsung Galaxy S5 has a GPIO Expander chip, the PCAL6416A with 16
ports on a i2c bus. These pins are used for WiFi, NFC, IR among other
things.

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 29 +++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 7b398da9b75ed..29099b83b231d 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -236,10 +236,25 @@ i2c-gpio-led {
		scl-gpios = <&msmgpio 121 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		sda-gpios = <&msmgpio 120 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		pinctrl-names = "default";
		pinctrl-0 = <&i2c_led_pins>;
		pinctrl-0 = <&i2c_led_gpioex_pins>;

		i2c-gpio,delay-us = <2>;

		gpio_expander: gpio@20 {
			compatible = "nxp,pcal6416";
			reg = <0x20>;

			gpio-controller;
			#gpio-cells = <2>;

			vcc-supply = <&pma8084_s4>;

			pinctrl-names = "default";
			pinctrl-0 = <&gpioex_pin>;

			reset-gpios = <&msmgpio 145 GPIO_ACTIVE_LOW>;
		};

		led-controller@30 {
			compatible = "panasonic,an30259a";
			reg = <0x30>;
@@ -352,7 +367,7 @@ mux {
			};
		};

		i2c_led_pins: i2c-led {
		i2c_led_gpioex_pins: i2c-led-gpioex {
			mux {
				pins = "gpio120", "gpio121";
				function = "gpio";
@@ -360,6 +375,16 @@ mux {
				bias-pull-down;
			};
		};

		gpioex_pin: gpioex {
			res {
				pins = "gpio145";
				function = "gpio";

				bias-pull-up;
				drive-strength = <2>;
			};
		};
	};

	sdhci@f9824900 {
-- 
2.27.0

[PATCH 6/7] ARM: dts: qcom: msm8974-klte: Add support for wifi

Iskren Chernev
Details
Message ID
<20200630140912.260294-7-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +74 -0
The Samsung Galaxy S5 (klte), uses a Broadcom 4354 Chip connected on the
SDIO bus. The chip also requires a corresponding firmware + txt file[1].

[1] https://gitlab.com/postmarketOS/pmaports/-/blob/master/firmware/firmware-samsung-klte/APKBUILD

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 74 +++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 29099b83b231d..989447beb4319 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -282,6 +282,17 @@ led@3 {
		};
	};

	vreg_wlan: wlan-regulator {
		compatible = "regulator-fixed";

		regulator-name = "wl-reg";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;

		gpio = <&gpio_expander 8 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	/delete-node/ vreg-boost;
};

@@ -338,6 +349,20 @@ cmd-data {
			};
		};

		sdhc3_pin_a: sdhc3-pin-active {
			clk {
				pins = "sdc2_clk";
				drive-strength = <6>;
				bias-disable;
			};

			cmd-data {
				pins = "sdc2_cmd", "sdc2_data";
				drive-strength = <6>;
				bias-pull-up;
			};
		};

		i2c2_pins: i2c2 {
			mux {
				pins = "gpio6", "gpio7";
@@ -385,6 +410,16 @@ res {
				drive-strength = <2>;
			};
		};

		wifi_pin: wifi {
			int {
				pins = "gpio92";
				function = "gpio";

				input-enable;
				bias-pull-down;
			};
		};
	};

	sdhci@f9824900 {
@@ -400,6 +435,36 @@ sdhci@f9824900 {
		pinctrl-0 = <&sdhc1_pin_a>;
	};

	sdhci@f98a4900 {
		status = "okay";

		#address-cells = <1>;
		#size-cells = <0>;

		max-frequency = <100000000>;

		pinctrl-names = "default";
		pinctrl-0 = <&sdhc3_pin_a>;

		vmmc-supply = <&vreg_wlan>;
		vqmmc-supply = <&pma8084_s4>;

		bus-width = <4>;
		non-removable;

		wifi@1 {
			reg = <1>;
			compatible = "brcm,bcm4329-fmac";

			interrupt-parent = <&msmgpio>;
			interrupts = <92 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "host-wake";

			pinctrl-names = "default";
			pinctrl-0 = <&wlan_sleep_clk_pin &wifi_pin>;
		};
	};

	usb@f9a55000 {
		status = "ok";

@@ -587,6 +652,15 @@ touch_pin: touchscreen-int-pin {
				input-enable;
				power-source = <PMA8084_GPIO_S4>;
			};

			wlan_sleep_clk_pin: wlan-sleep-clk-pin {
				pins = "gpio16";
				function = "func2";

				output-high;
				power-source = <PMA8084_GPIO_S4>;
				qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
			};
		};
	};
};
-- 
2.27.0

[PATCH 7/7] ARM: dts: qcom: msm8974-klte: Add support for SD card

Iskren Chernev
Details
Message ID
<20200630140912.260294-8-iskren.chernev@gmail.com>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Patch: +43 -1
The Samsung Galaxy S5 (klte), has 3 SDHCI nodes used for internal
storage, WiFi, external SD card slot. The external SD card slot is
similar to the internal storage.

The device has support for CD (card detect), but if enabled, the card is
not initialized properly if present during startup. That is why CD is
disabled and polling is used instead. Related thread [1]

[1] https://lore.kernel.org/linux-mmc/491cfef4-4a97-b6e8-0f41-d44e1c73eea4@gmail.com/

Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
 .../boot/dts/qcom-msm8974-samsung-klte.dts    | 44 ++++++++++++++++++-
 1 file changed, 43 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
index 989447beb4319..b0899107f3ced 100644
--- a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -12,6 +12,8 @@ / {

	aliases {
		serial0 = &blsp1_uart1;
		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
		sdhc2 = &sdhc_2; /* SDC2 SD card slot */
	};

	chosen {
@@ -161,6 +163,9 @@ pma8084_l20: l20 {
					pma8084_l21: l21 {
						regulator-min-microvolt = <2950000>;
						regulator-max-microvolt = <2950000>;

						regulator-allow-set-load;
						regulator-system-load = <200000>;
					};

					pma8084_l22: l22 {
@@ -349,6 +354,24 @@ cmd-data {
			};
		};

		sdhc2_pin_a: sdhc2-pin-active {
			clk-cmd-data {
				pins = "gpio35", "gpio36", "gpio37", "gpio38",
					"gpio39", "gpio40";
				function = "sdc3";
				drive-strength = <8>;
				bias-disable;
			};
		};

		sdhc2_cd_pin: sdhc2-cd {
			pins = "gpio62";
			function = "gpio";

			drive-strength = <2>;
			bias-disable;
		};

		sdhc3_pin_a: sdhc3-pin-active {
			clk {
				pins = "sdc2_clk";
@@ -422,7 +445,7 @@ int {
		};
	};

	sdhci@f9824900 {
	sdhc_1: sdhci@f9824900 {
		status = "ok";

		vmmc-supply = <&pma8084_l20>;
@@ -435,6 +458,25 @@ sdhci@f9824900 {
		pinctrl-0 = <&sdhc1_pin_a>;
	};

	sdhc_2: sdhci@f9864900 {
		status = "ok";

		max-frequency = <100000000>;

		vmmc-supply = <&pma8084_l21>;
		vqmmc-supply = <&pma8084_l13>;

		bus-width = <4>;

		/* cd-gpio is intentionally disabled. If enabled, an SD card
		 * present during boot is not initialized correctly. Without
		 * cd-gpios the driver resorts to polling, so hotplug works.
		 */
		pinctrl-names = "default";
		pinctrl-0 = <&sdhc2_pin_a /* &sdhc2_cd_pin */>;
		// cd-gpios = <&msmgpio 62 GPIO_ACTIVE_LOW>;
	};

	sdhci@f98a4900 {
		status = "okay";

--
2.27.0
Brian Masney
Details
Message ID
<20200701103041.GA3246@onstation.org>
In-Reply-To
<20200630140912.260294-1-iskren.chernev@gmail.com> (view parent)
DKIM signature
pass
Download raw message
Hi Iskren,

On Tue, Jun 30, 2020 at 05:09:05PM +0300, Iskren Chernev wrote:
> Enable support for various hw found on the Samsung Galaxy S5:
> - touchkey (the two buttons around the home button)
> - touchscreen
> - notification led
> - wifi
> - external SD card
> 
> Please note that for working wifi the correct firmware is needed. Check [1]
> for links and locations.
> 
> Also note, that to actually run a mainline kernel on the klte, you'd need
> to apply this patch [2]. Any feedback on getting this to run on pure
> mainline are welcome.
> 
> [1] https://gitlab.com/postmarketOS/pmaports/-/blob/master/firmware/firmware-samsung-klte/APKBUILD
> [2] https://gitlab.com/postmarketOS/linux-postmarketos/-/commit/765f55b248cd3b231af8431fe2f2aeca263b4e4b

Good to see more msm8974 support upstream!

Regarding the second patch, that should only be needed in order to
use the GPU on these devices. I hope that patch won't be needed once
IOMMU support is added, which is the last major missing piece in order
to have the GPU working upstream. I posted a RFC patch [3] in January
but didn't get any suggestions. I suspect some kind of memory corruption
since the board gets unstable with that patch.

If that hack patch is still needed to use the GPU once IOMMU support is
in place, then I planned to troubleshoot it further by adding some log
statements to various probe functions with and without that patch to see
the probe order between the various subsystems. I suspect the issue is
that a clock isn't ticking yet.

[3] https://lore.kernel.org/lkml/20200109002606.35653-1-masneyb@onstation.org/T/#u

Brian
Iskren Chernev
Details
Message ID
<9fb3c6b4-85fc-7528-a2c7-58a1350fa241@gmail.com>
In-Reply-To
<20200701103041.GA3246@onstation.org> (view parent)
DKIM signature
pass
Download raw message
On 7/1/20 1:30 PM, Brian Masney wrote:
> Hi Iskren,
>
> On Tue, Jun 30, 2020 at 05:09:05PM +0300, Iskren Chernev wrote:
>> Enable support for various hw found on the Samsung Galaxy S5:
>> - touchkey (the two buttons around the home button)
>> - touchscreen
>> - notification led
>> - wifi
>> - external SD card
>>
>> Please note that for working wifi the correct firmware is needed. Check [1]
>> for links and locations.
>>
>> Also note, that to actually run a mainline kernel on the klte, you'd need
>> to apply this patch [2]. Any feedback on getting this to run on pure
>> mainline are welcome.
>>
>> [1] https://gitlab.com/postmarketOS/pmaports/-/blob/master/firmware/firmware-samsung-klte/APKBUILD
>> [2] https://gitlab.com/postmarketOS/linux-postmarketos/-/commit/765f55b248cd3b231af8431fe2f2aeca263b4e4b
>
> Good to see more msm8974 support upstream!
>
> Regarding the second patch, that should only be needed in order to
> use the GPU on these devices.

For the klte, without this delay rpm init patch, the device reboots soon
after being booted. I tested with pure v5.8 and next-20200701 (both have
basic klte support, including usb ethernet for ssh). With the patch
applied, it works like a charm.

Note that there is no GPU enabled in this setup (unless I'm missing some
piece from the SOC dtsi).

> I hope that patch won't be needed once
> IOMMU support is added, which is the last major missing piece in order
> to have the GPU working upstream. I posted a RFC patch [3] in January
> but didn't get any suggestions. I suspect some kind of memory corruption
> since the board gets unstable with that patch.

If the IOMMU is only used for graphics, then the problem remains for klte.

> If that hack patch is still needed to use the GPU once IOMMU support is
> in place, then I planned to troubleshoot it further by adding some log
> statements to various probe functions with and without that patch to see
> the probe order between the various subsystems. I suspect the issue is
> that a clock isn't ticking yet.
>
> [3] https://lore.kernel.org/lkml/20200109002606.35653-1-masneyb@onstation.org/T/#u

I'll be happy to help with that.

> Brian

Iskren
Reply to thread Export thread (mbox)