From 858f0ce689b38294a7514c2becf31f95b4631e7c Mon Sep 17 00:00:00 2001 From: Vasiliy Borisov Date: Wed, 19 Oct 2022 19:30:52 +0300 Subject: [PATCH 1/3] arm64: dts: qcom: Add device tree for ASUS ZenPad 8.0 ASUS ZenPad 8.0 is a tablet using the MSM8916 SoC. Add device tree with initial support for: - SDHCI (internal and external storage) - USB Device Mode - UART - Regulators - WiFi/BT - Volume buttons This device tree is based on downstream device tree from ASUS. Signed-off-by: Vasiliy Borisov --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../arm64/boot/dts/qcom/msm8916-asus-p024.dts | 226 ++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 7220e9016b184d..9ff9cb5420adcb 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-alto5-vdf.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-ark-peach.dtb +dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-p024.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z010d.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-gplus-fl8005a.dtb diff --git a/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts new file mode 100644 index 00000000000000..713c9371c5c200 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts @@ -0,0 +1,226 @@ +// SPDX-License-Identifier: GPL-2.0-only + +/dts-v1/; + +#include "msm8916-pm8916.dtsi" + +#include +#include +#include + +/ { + model = "ASUS ZenPad 8.0"; + compatible = "asus,p024", "qcom,msm8916"; + chassis-type = "tablet"; + + aliases { + serial0 = &blsp1_uart2; + }; + + chosen { + stdout-path = "serial0"; + }; + + gpio-keys { + compatible = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&gpio_keys_default>; + + label = "GPIO Buttons"; + + button-volume-up { + label = "Volume Up"; + gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>; + linux,code = ; + debounce-interval = <15>; + }; + }; + + reg_sd_vmmc: regulator-sdcard-vmmc { + compatible = "regulator-fixed"; + regulator-name = "sdcard-vmmc"; + regulator-min-microvolt = <2950000>; + regulator-max-microvolt = <2950000>; + + gpio = <&msmgpio 87 GPIO_ACTIVE_HIGH>; + enable-active-high; + + startup-delay-us = <200>; + + pinctrl-names = "default"; + pinctrl-0 = <&sd_vmmc_en_default>; + }; + + usb_id: usb-id { + compatible = "linux,extcon-usb-gpio"; + id-gpios = <&msmgpio 110 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&usb_id_default>; + }; +}; + +&blsp1_uart2 { + status = "okay"; +}; + +&pronto { + status = "okay"; +}; + +&sdhc_1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; + pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>; + + status = "okay"; +}; + +&sdhc_2 { + vmmc-supply = <®_sd_vmmc>; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; + pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; + cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>; + + status = "okay"; +}; + +&usb { + extcon = <&usb_id>, <&usb_id>; + status = "okay"; +}; + +&usb_hs_phy { + extcon = <&usb_id>; +}; + +&smd_rpm_regulators { + vdd_l1_l2_l3-supply = <&pm8916_s3>; + vdd_l4_l5_l6-supply = <&pm8916_s4>; + vdd_l7-supply = <&pm8916_s4>; + + s3 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1300000>; + }; + + s4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2100000>; + }; + + l1 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1225000>; + }; + + l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + l4 { + regulator-min-microvolt = <2050000>; + regulator-max-microvolt = <2050000>; + }; + + l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l8 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2900000>; + }; + + l9 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + l10 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2800000>; + }; + + l11 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; + }; + + l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + l13 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + l14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l15 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l16 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; + + l17 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + }; + + l18 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + }; +}; + +&msmgpio { + gpio_keys_default: gpio-keys-default-state { + pins = "gpio107", "gpio117"; + function = "gpio"; + + drive-strength = <2>; + bias-pull-up; + }; + + sd_vmmc_en_default: sd-vmmc-en-default-state { + pins = "gpio87"; + function = "gpio"; + + drive-strength = <2>; + bias-disable; + }; + + usb_id_default: usb-id-default-state { + pins = "gpio110"; + function = "gpio"; + + drive-strength = <8>; + bias-pull-up; + }; +}; From 8e2bc56b62a41b1c3e19c5487a81e755eafb4c4d Mon Sep 17 00:00:00 2001 From: Vasiliy Borisov Date: Thu, 20 Oct 2022 15:59:42 +0300 Subject: [PATCH 2/3] arm64: dts: qcom: p024: add battery and charger This device has battery and smb345 charger ic. Add support for it. Signed-off-by: Vasiliy Borisov --- .../arm64/boot/dts/qcom/msm8916-asus-p024.dts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts index 713c9371c5c200..9cdb81a8ac2089 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts @@ -7,6 +7,7 @@ #include #include #include +#include / { model = "ASUS ZenPad 8.0"; @@ -21,6 +22,24 @@ stdout-path = "serial0"; }; + bat: battery { + compatible = "simple-battery"; + voltage-min-design-microvolt = <3400000>; + voltage-max-design-microvolt = <4350000>; + energy-full-design-microwatt-hours = <15200000>; + charge-full-design-microamp-hours = <3800000>; + + ocv-capacity-celsius = <25>; + ocv-capacity-table-0 = <4331000 100>, <4261000 95>, <4204000 90>, + <4152000 85>, <4102000 80>, <4060000 75>, <3998000 70>, + <3964000 65>, <3924000 60>, <3874000 55>, <3842000 50>, + <3820000 45>, <3800000 40>, <3785000 35>, <3720000 30>, + <3758000 25>, <3735000 20>, <3706000 16>, <3690000 13>, + <3687000 11>, <3686000 10>, <3684000 9>, <3680000 8>, + <3668000 7>, <3640000 6>, <3596000 5>, <3542000 4>, + <3472000 3>, <3378000 2>, <3239000 1>, <3000000 0>; + }; + gpio-keys { compatible = "gpio-keys"; @@ -60,6 +79,21 @@ }; }; +&blsp_i2c4 { + status = "okay"; + + charger@6a { + compatible = "summit,smb345"; + reg = <0x6a>; + + summit,enable-charge-control = ; + summit,chip-temperature-threshold-celsius = <110>; + summit,usb-current-limit-microamp = <500000>; + summit,enable-usb-charging; + summit,enable-otg-charging; + }; +}; + &blsp1_uart2 { status = "okay"; }; @@ -68,6 +102,11 @@ status = "okay"; }; +&pm8916_bms { + monitored-battery = <&bat>; + status = "okay"; +}; + &sdhc_1 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>; From f5635331045a734215f9d869b673e350d78c1c4d Mon Sep 17 00:00:00 2001 From: Vasiliy Borisov Date: Sat, 4 Feb 2023 16:03:56 +0300 Subject: [PATCH 3/3] arm64: dts: qcom: p024: add sound and modem Add support for Modem and Sound in ASUS ZenPad 8.0. Signed-off-by: Vasiliy Borisov --- .../arm64/boot/dts/qcom/msm8916-asus-p024.dts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts index 9cdb81a8ac2089..db7a62dc4b49ee 100644 --- a/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts +++ b/arch/arm64/boot/dts/qcom/msm8916-asus-p024.dts @@ -3,6 +3,7 @@ /dts-v1/; #include "msm8916-pm8916.dtsi" +#include "msm8916-modem.dtsi" #include #include @@ -22,6 +23,18 @@ stdout-path = "serial0"; }; + reserved-memory { + mpss_mem: mpss@86800000 { + reg = <0x0 0x86800000 0x0 0x5500000>; + no-map; + }; + + gps_mem: gps@8bd00000 { + reg = <0x0 0x8bd00000 0x0 0x200000>; + no-map; + }; + }; + bat: battery { compatible = "simple-battery"; voltage-min-design-microvolt = <3400000>; @@ -126,6 +139,10 @@ status = "okay"; }; +&sound { + status = "okay"; +}; + &usb { extcon = <&usb_id>, <&usb_id>; status = "okay"; @@ -135,6 +152,14 @@ extcon = <&usb_id>; }; +&wcd_codec { + qcom,micbias-lvl = <2800>; + qcom,mbhc-vthreshold-low = <75 150 237 450 500>; + qcom,mbhc-vthreshold-high = <75 150 237 450 500>; + qcom,micbias1-ext-cap; + qcom,hphl-jack-type-normally-open; +}; + &smd_rpm_regulators { vdd_l1_l2_l3-supply = <&pm8916_s3>; vdd_l4_l5_l6-supply = <&pm8916_s4>;