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 @@ -77,6 +77,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-yiming-uz801v3.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8917-xiaomi-riva.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8929-wingtech-wt82918hd.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-alcatel-idol3.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-htc-m8qlul.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-huawei-kiwi.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-longcheer-l9100.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8939-samsung-a7.dtb
Expand Down
236 changes: 236 additions & 0 deletions arch/arm64/boot/dts/qcom/msm8939-htc-m8qlul.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
// SPDX-License-Identifier: GPL-2.0-only

/dts-v1/;

#include "msm8939-pm8916.dtsi"

#include <dt-bindings/gpio/gpio.h>

/ {
model = "HTC One M8s";
compatible = "htc,m8qlul", "qcom,msm8939";
chassis-type = "handset";

aliases {
mmc0 = &sdhc_1; /* eMMC */
mmc1 = &sdhc_2; /* SD card */
serial0 = &blsp_uart2;
};

chosen {
bootargs = "earlycon=tty0 console=tty0";
stdout-path = "framebuffer0";

#address-cells = <2>;
#size-cells = <2>;
ranges;

framebuffer0: framebuffer@83003000 {
compatible = "simple-framebuffer";

Choose a reason for hiding this comment

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

Does simpledrm really work?

reg = <0x0 0x83200000 0x0 0xfa0000>;
width = <1080>;
height = <1920>;
stride = <(1080 * 3)>;
format = "r8g8b8";
};
};

reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;

// /delete-node/ venus@8c300000;

cont_splash_mem: framebuffer@83000000 {
compatible = "removed-dma-pool";
reg = <0x0 0x83200000 0x0 0xfa0000>;
no-map;
};

ramoops: ramoops_mem_region@8cb00000 {
compatible = "ramoops";
reg = <0x0 0x8cb00000 0x0 0x100000>;

record-size = <65536>;
console-size = <0x100000>;
ftrace-size = <0>;
pmsg-size = <524288>;
};

htc_reserve_region@8cbd0000 {
reg = <0x00 0x8cbd0000 0x00 0x20000>;
no-map;
};

// venus_mem: venus@8e800000 {
// reg = <0x00 0x8e800000 0x00 0x500000>;
// no-map;
// };
};

gpio-keys {
compatible = "gpio-keys";

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

label = "GPIO Buttons";

button-volume-up {
label = "Volume Up";
gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
};
};

usb_id: usb-id {
compatible = "linux,extcon-usb-gpio";
id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&usb_id_default>;
pinctrl-names = "default";
};
};

&blsp_uart2 {
status = "okay";
};

&mdss {
status = "disabled";
};

&pm8916_resin {
linux,code = <KEY_VOLUMEDOWN>;

status = "okay";
};

&pm8916_rpm_regulators {
pm8916_s3: s3 { // ok
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};

pm8916_s4: s4 { // ok
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};

pm8916_l1: l1 { // ok
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};

pm8916_l4: l4 { // ok
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};

pm8916_l6: l6 { // ok
regulator-always-on;
regulator-boot-on;
};

pm8916_l10: l10 { // ok, didn't originally match downstream
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on; /* comment from downstream: V_AUD_1V8 need always on as audio request */
};

pm8916_l14: l14 { // ok
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};

pm8916_l15: l15 { // ok
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};

pm8916_l16: l16 { // ok
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};

pm8916_l17: l17 { // ok, didn't originally match downstream
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

pm8916_l18: l18 { // ok
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};

&pm8916_vib {
status = "okay";
};

&sdhc_1 {
vmmc-supply = <&pm8916_l8>;
vqmmc-supply = <&pm8916_l5>;

status = "okay";
};

&sdhc_2 {
vmmc-supply = <&pm8916_l11>;
vqmmc-supply = <&pm8916_l12>;

pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep";

cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;

status = "okay";
};

&usb {
extcon = <&usb_id>, <&usb_id>;

status = "okay";
};

&usb_hs_phy {
extcon = <&usb_id>;
v1p8-supply = <&pm8916_l7>;
v3p3-supply = <&pm8916_l13>;
};

&wcnss {
status = "okay";
};

&wcnss_iris {
compatible = "qcom,wcn3680";
};

&wcnss_mem {
status = "okay";
};

&tlmm {
gpio_keys_default: gpio-keys-default-state {
pins = "gpio107";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};

sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};

usb_id_default: usb-id-default-state {
pins = "gpio110";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
};