Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/qcom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8917-xiaomi-rolex.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8917-xiaomi-tiare.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8917-xiaomi-ugglite.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8929-wingtech-wt82918hd.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8937-huawei-aum.dtb
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aum is autumn, i would prefer the full code name like agassi

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dtb-$(CONFIG_ARCH_QCOM) += msm8937-motorola-cedric.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8937-motorola-hannah.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8937-motorola-montana.dtb
Expand Down
369 changes: 369 additions & 0 deletions arch/arm64/boot/dts/qcom/msm8937-huawei-aum.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,369 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2026, Orlov Maxim <aztecmx@proton.me>
*/

/dts-v1/;

#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/leds/common.h>
#include "msm8937.dtsi"
#include "pm8937.dtsi"
#include "msm8937-qdsp6.dtsi"

/ {
model = "Huawei Honor 7C (aum)";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
model = "Huawei Honor 7C (aum)";
model = "Huawei Honor 7C";

compatible = "huawei,aum", "qcom,msm8937";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
compatible = "huawei,aum", "qcom,msm8937";
compatible = "huawei,autumn", "qcom,msm8937";

chassis-type = "handset";
qcom,msm-id = <QCOM_ID_MSM8937 0>;
qcom,board-id = <8331 0>;
aliases {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
aliases {
aliases {

serial0 = &blsp1_uart2;
mmc0 = &sdhc_1;
mmc1 = &sdhc_2;
};
battery: battery {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
battery: battery {
battery: battery {

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where this battery node is used?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where this battery node is used?

This is for cw2015 fuel gauge, I will add it later

compatible = "simple-battery";
charge-full-design-microamp-hours = <3000000>;
constant-charge-current-max-microamp = <1250000>;
voltage-min-design-microvolt = <3400000>;
voltage-max-design-microvolt = <4400000>;
};
chosen {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
chosen {
chosen {

#address-cells = <2>;
#size-cells = <2>;
ranges;
stdout-path = "framebuffer0";

framebuffer0: framebuffer@90000000 {
compatible = "simple-framebuffer";
reg = <0x0 0x90001000 0x0 (720 * 1440 * 3)>;
width = <720>;
height = <1440>;
stride = <(720 * 3)>;
format = "r8g8b8";

clocks = <&gcc GCC_MDSS_AHB_CLK>,
<&gcc GCC_MDSS_AXI_CLK>,
<&gcc GCC_MDSS_VSYNC_CLK>,
<&gcc GCC_MDSS_MDP_CLK>,
<&gcc GCC_MDSS_BYTE0_CLK>,
<&gcc GCC_MDSS_PCLK0_CLK>,
<&gcc GCC_MDSS_ESC0_CLK>;
power-domains = <&gcc MDSS_GDSC>;
status = "okay";
};
};
gpio-keys {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
gpio-keys {
gpio-keys {

compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default>;
pinctrl-names = "default";
key-volup {
linux,code = "KEY_VOLUMEUP";
gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
};
};
reserved-memory {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
reserved-memory {
reserved-memory {

framebuffer@90000000 {
reg = <0x0 0x90001000 0x0 (720 * 1440 * 3)>;
no-map;
};

reserved@92000000 {
reg = <0x0 0x92000000 0x0 0x01c00000>;
no-map;
};
};
vph_pwr: vph-pwr-regulator {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
vph_pwr: vph-pwr-regulator {
vph_pwr: vph-pwr-regulator {

compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
regulator-always-on;
regulator-boot-on;
};
};

&adsp {
status = "okay";
};

&apr {
status = "okay";
};

&adsp_mem {
status = "okay";
};

&blsp1_i2c3 {
status = "okay";
touchscreen@38 {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
touchscreen@38 {
touchscreen@38 {

compatible = "edt,edt-ft5306";
reg = <0x38>;
interrupts-extended = <&tlmm 65 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
vcc-supply = <&pm8937_l10>;
iovcc-supply = <&pm8937_l5>;
pinctrl-0 = <&tsp_int_rst_default>;
pinctrl-names = "default";
touchscreen-size-x = <720>;
touchscreen-size-y = <1440>;
};
};

&blsp2_i2c1 {
status = "okay";
nfc@28 {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
nfc@28 {
nfc@28 {

compatible = "nxp,nxp-nci-i2c";
reg = <0x28>;
interrupt-parent = <&tlmm>;
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
firmware-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&nfc_int_default>;
};
};

&mba_mem {
status = "okay";
};

&modem {
status = "okay";
};

&mpss_mem {
status = "okay";
};

&pm8937_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};

&pm8937_spmi_regulators {
pm8937_s5: s5 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
};

&rpm_requests {
regulators-0 {
compatible = "qcom,rpm-pm8937-regulators";

vdd_s1-supply = <&vph_pwr>;
vdd_s2-supply = <&vph_pwr>;
vdd_s3-supply = <&vph_pwr>;
vdd_s4-supply = <&vph_pwr>;

vdd_l1_l19-supply = <&pm8937_s3>;
vdd_l2_l23-supply = <&pm8937_s3>;
vdd_l3-supply = <&pm8937_s3>;
vdd_l4_l5_l6_l7_l16-supply = <&pm8937_s4>;
vdd_l8_l11_l12_l17_l22-supply = <&vph_pwr>;
vdd_l9_l10_l13_l14_l15_l18-supply = <&vph_pwr>;

pm8937_s1: s1 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1225000>;
};

pm8937_s3: s3 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
};

pm8937_s4: s4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};

pm8937_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};

pm8937_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};

pm8937_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why always-on and boot-on?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why always-on and boot-on?

This is a DSI and CSI's vddio-supply, I set always-on and boot-on as camera driver (hi846, I'm testing it yet) turned off the LCD backlight

};

pm8937_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};

pm8937_l8: l8 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};

pm8937_l9: l9 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3300000>;
};

pm8937_l10: l10 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3000000>;
};

pm8937_l11: l11 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};

pm8937_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};

pm8937_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};

pm8937_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};

pm8937_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};

pm8937_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};

pm8937_l17: l17 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2900000>;
};

pm8937_l19: l19 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1350000>;
};

pm8937_l22: l22 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};

pm8937_l23: l23 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
};
};

&sdc2_cmd_default {
drive-strength = <12>;
};

&sdc2_data_default {
drive-strength = <12>;
};

&sdhc_1 {
status = "okay";
};

&sdhc_2 {
cd-gpios = <&tlmm 67 GPIO_ACTIVE_HIGH>;
vmmc-supply = <&pm8937_l11>;
vqmmc-supply = <&pm8937_l12>;
pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep";
status = "okay";
};

&sleep_clk {
clock-frequency = <32768>;
};

&tlmm {
gpio-reserved-ranges = <0 4>, <85 5>;
status = "okay";
gpio_keys_default: gpio-keys-default-state {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
gpio_keys_default: gpio-keys-default-state {
gpio_keys_default: gpio-keys-default-state {

pins = "gpio91";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
sdc2_cd_default: sdc2-cd-default-state {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sdc2_cd_default: sdc2-cd-default-state {
sdc2_cd_default: sdc2-cd-default-state {

pins = "gpio67";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tsp_int_rst_default: tsp-int-rst-default-state {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
tsp_int_rst_default: tsp-int-rst-default-state {
tsp_int_rst_default: tsp-int-rst-default-state {

pins = "gpio64", "gpio65";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
nfc_int_default: nfc-int-default-state {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
nfc_int_default: nfc-int-default-state {
nfc_int_default: nfc-int-default-state {

pins = "gpio17";
function = "gpio";
drive-strength = <6>;
bias-pull-up;
};
};

&usb {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will not work without extcon, you should wire up charger and extcons.

dr_mode = "peripheral";
status = "okay";
};

&usb_hs_phy {
vdd-supply = <&pm8937_l2>;
vdda1p8-supply = <&pm8937_l7>;
vdda3p3-supply = <&pm8937_l13>;
status = "okay";
};

&venus_mem {
status = "okay";
};

&wcnss {
vddpx-supply = <&pm8937_l5>;
status = "okay";
};

&wcnss_iris {
compatible = "qcom,wcn3620";
vddxo-supply = <&pm8937_l7>;
vddrfa-supply = <&pm8937_l19>;
vddpa-supply = <&pm8937_l9>;
vdddig-supply = <&pm8937_l5>;
};

&wcnss_mem {
status = "okay";
};

&xo_board {
clock-frequency = <19200000>;
};