ARM: dts: qcom: Add support for ASUS ZenWatch 2

Add support for this smartwatch, based on Snapdragon 400 SoC.

Currently supported functionality:
* Internal storage
* USB
* Charger
* Power button
* Vibration motor
* Bluetooth
* Wifi

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220226101939.1011551-2-luca@z3ntu.xyz
This commit is contained in:
Luca Weiss 2022-02-26 11:19:39 +01:00 committed by Bjorn Andersson
parent b736cedce5
commit d3236c598e
3 changed files with 304 additions and 0 deletions

View File

@ -977,6 +977,7 @@ dtb-$(CONFIG_ARCH_OXNAS) += \
ox820-cloudengines-pogoplug-series-3.dtb
dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8016-sbc.dtb \
qcom-apq8026-asus-sparrow.dtb \
qcom-apq8026-lg-lenok.dtb \
qcom-apq8060-dragonboard.dtb \
qcom-apq8064-cm-qs600.dtb \

View File

@ -0,0 +1,294 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2022, Luca Weiss <luca@z3ntu.xyz>
*/
/dts-v1/;
#include "qcom-msm8226.dtsi"
#include "qcom-pm8226.dtsi"
/ {
model = "ASUS ZenWatch 2";
compatible = "asus,sparrow", "qcom,apq8026";
chassis-type = "watch";
qcom,msm-id = <199 0x20000>;
qcom,board-id = <8 3005>;
reserved-memory {
sbl_region: sbl@2f00000 {
reg = <0x02f00000 0x100000>;
no-map;
};
external_image_region: external-image@3100000 {
reg = <0x3100000 0x200000>;
no-map;
};
peripheral_region: peripheral@3300000 {
reg = <0x3300000 0x600000>;
no-map;
};
adsp_region: adsp@3900000 {
reg = <0x3900000 0x1400000>;
no-map;
};
modem_region: modem@4d00000 {
reg = <0x4d00000 0x1b00000>;
no-map;
};
modem_efs_region: modem-efs@7f00000 {
reg = <0x7f00000 0x100000>;
no-map;
};
};
vreg_wlan: wlan-regulator {
compatible = "regulator-fixed";
regulator-name = "wl-reg";
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&wlan_regulator_default_state>;
};
};
&blsp1_uart1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&blsp1_uart1_default_state>;
bluetooth {
compatible = "brcm,bcm43430a1-bt";
max-speed = <3000000>;
pinctrl-names = "default";
pinctrl-0 = <&bluetooth_default_state>;
host-wakeup-gpios = <&tlmm 48 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
};
};
&pm8226_vib {
status = "okay";
};
&rpm_requests {
pm8226-regulators {
compatible = "qcom,rpm-pm8226-regulators";
pm8226_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8226_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2200000>;
};
pm8226_s5: s5 {
regulator-min-microvolt = <1150000>;
regulator-max-microvolt = <1150000>;
};
pm8226_l1: l1 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8226_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l3: l3 {
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1337500>;
};
pm8226_l4: l4 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l5: l5 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8226_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l7: l7 {
regulator-min-microvolt = <1900000>;
regulator-max-microvolt = <1900000>;
};
pm8226_l8: l8 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l9: l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l10: l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l14: l14 {
regulator-min-microvolt = <2750000>;
regulator-max-microvolt = <2750000>;
};
pm8226_l15: l15 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l16: l16 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
pm8226_l17: l17 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l18: l18 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l19: l19 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8226_l20: l20 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8226_l21: l21 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l22: l22 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_l23: l23 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8226_l24: l24 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1350000>;
};
pm8226_l25: l25 {
regulator-min-microvolt = <1775000>;
regulator-max-microvolt = <2125000>;
};
pm8226_l26: l26 {
regulator-min-microvolt = <1225000>;
regulator-max-microvolt = <1225000>;
};
pm8226_l27: l27 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8226_l28: l28 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8226_lvs1: lvs1 {};
};
};
&sdhc_1 {
status = "okay";
vmmc-supply = <&pm8226_l17>;
vqmmc-supply = <&pm8226_l6>;
bus-width = <8>;
non-removable;
};
&sdhc_3 {
status = "okay";
max-frequency = <100000000>;
non-removable;
vmmc-supply = <&vreg_wlan>;
vqmmc-supply = <&pm8226_l6>;
#address-cells = <1>;
#size-cells = <0>;
wifi@1 {
compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
reg = <1>;
interrupts-extended = <&tlmm 46 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "host-wake";
pinctrl-names = "default";
pinctrl-0 = <&wlan_hostwake_default_state>;
};
};
&smbb {
qcom,fast-charge-safe-current = <1500000>;
qcom,fast-charge-current-limit = <350000>;
qcom,fast-charge-safe-voltage = <4430000>;
qcom,fast-charge-high-threshold-voltage = <4400000>;
qcom,auto-recharge-threshold-voltage = <4300000>;
qcom,minimum-input-voltage = <4400000>;
};
&tlmm {
blsp1_uart1_default_state: blsp1-uart1-default-state {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "blsp_uart1";
drive-strength = <8>;
bias-disable;
};
bluetooth_default_state: bluetooth-default-state {
pins = "gpio48", "gpio61";
function = "gpio";
drive-strength = <8>;
bias-disable;
input-enable;
};
wlan_hostwake_default_state: wlan-hostwake-default-state {
pins = "gpio46";
function = "gpio";
drive-strength = <2>;
bias-disable;
input-enable;
};
wlan_regulator_default_state: wlan-regulator-default-state {
pins = "gpio35";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
&usb {
status = "okay";
extcon = <&smbb>;
dr_mode = "peripheral";
};
&usb_hs_phy {
extcon = <&smbb>;
v1p8-supply = <&pm8226_l10>;
v3p3-supply = <&pm8226_l20>;
};

View File

@ -182,6 +182,15 @@
status = "disabled";
};
blsp1_uart1: serial@f991d000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0xf991d000 0x1000>;
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
status = "disabled";
};
blsp1_uart3: serial@f991f000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0xf991f000 0x1000>;