mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
linux/sm8550: ayaneo dts updates
This commit is contained in:
Binary file not shown.
@@ -45,7 +45,7 @@ new file mode 100644
|
||||
index 000000000000..0002c24e9f2c
|
||||
--- /dev/null
|
||||
+++ b/drivers/regulator/sgm3804-regulator.c
|
||||
@@ -0,0 +1,175 @@
|
||||
@@ -0,0 +1,159 @@
|
||||
+#include <linux/err.h>
|
||||
+#include <linux/i2c.h>
|
||||
+#include <linux/module.h>
|
||||
@@ -70,9 +70,7 @@ index 000000000000..0002c24e9f2c
|
||||
+{
|
||||
+ struct sgm3804_data *data = rdev_get_drvdata(rdev);
|
||||
+ struct regmap *regmap = data->regmap;
|
||||
+ int ret;
|
||||
+
|
||||
+ pr_info("sgm3804_enable: called\n");
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ /* Set reset GPIO high to enable the device if available */
|
||||
+ if (data->reset_gpio[0]) {
|
||||
@@ -82,25 +80,14 @@ index 000000000000..0002c24e9f2c
|
||||
+ gpiod_set_value_cansleep(data->reset_gpio[1], 1);
|
||||
+ }
|
||||
+
|
||||
+ ret = regmap_write(regmap, 0x00, 0x0c);
|
||||
+ ret |= regmap_write(regmap, 0x00, 0x0c);
|
||||
+ ret |= regmap_write(regmap, 0x01, 0x0c);
|
||||
+ ret |= regmap_write(regmap, 0x03, 0x03);
|
||||
+ if (ret) {
|
||||
+ pr_err("sgm3804_enable: regmap_write 0x00 failed: %d\n", ret);
|
||||
+ dev_err(rdev->dev.parent, "Failed to enable SGM3804 regulator\n");
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = regmap_write(regmap, 0x01, 0x0c);
|
||||
+ if (ret) {
|
||||
+ pr_err("sgm3804_enable: regmap_write 0x01 failed: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = regmap_write(regmap, 0x03, 0x03);
|
||||
+ if (ret) {
|
||||
+ pr_err("sgm3804_enable: regmap_write 0x03 failed: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ pr_info("sgm3804_enable: success\n");
|
||||
+ data->enabled = true;
|
||||
+ return 0;
|
||||
+}
|
||||
@@ -109,8 +96,6 @@ index 000000000000..0002c24e9f2c
|
||||
+{
|
||||
+ struct sgm3804_data *data = rdev_get_drvdata(rdev);
|
||||
+
|
||||
+ pr_info("sgm3804_disable: called\n");
|
||||
+
|
||||
+ if (data->reset_gpio[0]) {
|
||||
+ gpiod_set_value_cansleep(data->reset_gpio[0], 0);
|
||||
+ }
|
||||
@@ -118,7 +103,6 @@ index 000000000000..0002c24e9f2c
|
||||
+ gpiod_set_value_cansleep(data->reset_gpio[1], 0);
|
||||
+ }
|
||||
+
|
||||
+ pr_info("sgm3804_disable: success\n");
|
||||
+ data->enabled = false;
|
||||
+ return 0;
|
||||
+}
|
||||
|
||||
@@ -125,7 +125,7 @@ index 000000000000..0954c1854a05
|
||||
+ interrupt-parent = <&tlmm>;
|
||||
+ interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
|
||||
+
|
||||
+ cooling-levels = <0 40 65 75 90 120 150 200>;
|
||||
+ cooling-levels = <0 30 45 60 70 90 120 150>;
|
||||
+ #cooling-cells = <2>;
|
||||
+ };
|
||||
+
|
||||
|
||||
@@ -3,7 +3,7 @@ new file mode 100644
|
||||
index 000000000000..58d9ab342fe9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocket-common.dtsi
|
||||
@@ -0,0 +1,1463 @@
|
||||
@@ -0,0 +1,1477 @@
|
||||
+// SPDX-License-Identifier: BSD-3-Clause
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Teguh Sobirin.
|
||||
@@ -484,7 +484,7 @@ index 000000000000..58d9ab342fe9
|
||||
+ interrupts = <64 IRQ_TYPE_EDGE_FALLING>;
|
||||
+
|
||||
+ #cooling-cells = <2>;
|
||||
+ cooling-levels = <0 50 65 80 95 120 150 200>;
|
||||
+ cooling-levels = <0 30 45 60 70 90 120 150>;
|
||||
+ };
|
||||
+
|
||||
+ wcn7850-pmu {
|
||||
@@ -1161,6 +1161,20 @@ index 000000000000..58d9ab342fe9
|
||||
+ bias-pull-down;
|
||||
+ };
|
||||
+
|
||||
+ sde_te_active: sde-te-active-state {
|
||||
+ pins = "gpio86";
|
||||
+ function = "mdp_vsync";
|
||||
+ drive-strength = <2>;
|
||||
+ bias-pull-down;
|
||||
+ };
|
||||
+
|
||||
+ sde_te_suspend: sde-te-suspend-state {
|
||||
+ pins = "gpio86";
|
||||
+ function = "mdp_vsync";
|
||||
+ drive-strength = <2>;
|
||||
+ bias-pull-down;
|
||||
+ };
|
||||
+
|
||||
+ wlan_en: wlan-en-state {
|
||||
+ pins = "gpio80";
|
||||
+ function = "gpio";
|
||||
@@ -1335,8 +1349,8 @@ index 000000000000..58d9ab342fe9
|
||||
+ display_panel: panel@0 {
|
||||
+ reg = <0>;
|
||||
+
|
||||
+ pinctrl-0 = <&sde_dsi_active>;
|
||||
+ pinctrl-1 = <&sde_dsi_suspend>;
|
||||
+ pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>;
|
||||
+ pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>;
|
||||
+ pinctrl-names = "default", "sleep";
|
||||
+
|
||||
+ port {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts
|
||||
--- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 2025-02-26 13:52:56.398992835 +0000
|
||||
@@ -0,0 +1,110 @@
|
||||
@@ -0,0 +1,134 @@
|
||||
+// SPDX-License-Identifier: BSD-3-Clause
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Teguh Sobirin.
|
||||
@@ -22,13 +22,33 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts lin
|
||||
+
|
||||
+&tlmm {
|
||||
+ panel_pwr_active: panel-pwr-active-state {
|
||||
+ pins = "gpio152", "gpio153";
|
||||
+ pins = "gpio72", "gpio42", "gpio152", "gpio153";
|
||||
+ function = "gpio";
|
||||
+ drive-strength = <8>;
|
||||
+ bias-disable;
|
||||
+ output-high;
|
||||
+ };
|
||||
+
|
||||
+ panel_pwr_sleep: panel-pwr-sleep-state {
|
||||
+ pins = "gpio72", "gpio42", "gpio152", "gpio153";
|
||||
+ function = "gpio";
|
||||
+ output-low;
|
||||
+ };
|
||||
+
|
||||
+ backlight_pwr_active: backlight-pwr-active-state {
|
||||
+ pins = "gpio41";
|
||||
+ function = "gpio";
|
||||
+ drive-strength = <8>;
|
||||
+ bias-disable;
|
||||
+ output-high;
|
||||
+ };
|
||||
+
|
||||
+ backlight_pwr_sleep: backlight-pwr-sleep-state {
|
||||
+ pins = "gpio41";
|
||||
+ function = "gpio";
|
||||
+ output-low;
|
||||
+ };
|
||||
+
|
||||
+ ts_int_active: ts-int-default-state {
|
||||
+ pins = "gpio25";
|
||||
+ function = "gpio";
|
||||
@@ -45,8 +65,9 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts lin
|
||||
+ sgm3804: regulator@3e {
|
||||
+ compatible = "sgmicro,sgm3804";
|
||||
+ reg = <0x3e>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&panel_pwr_active>;
|
||||
+ pinctrl-1 = <&panel_pwr_sleep>;
|
||||
+ pinctrl-names = "default", "sleep";
|
||||
+ regulator-name = "panel-avdd";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
@@ -54,9 +75,12 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts lin
|
||||
+ };
|
||||
+
|
||||
+ /* Backlight */
|
||||
+ backlight: backlight@2e {
|
||||
+ backlight: sy7758@2e {
|
||||
+ compatible = "silergy,sy7758";
|
||||
+ reg = <0x2e>;
|
||||
+ pinctrl-0 = <&backlight_pwr_active>;
|
||||
+ pinctrl-1 = <&backlight_pwr_sleep>;
|
||||
+ pinctrl-names = "default", "sleep";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
|
||||
Reference in New Issue
Block a user